I apologize for misleading people who read my writings and have heard me speak on the topic of the SSIS Catalog. Here’s what I recently realized: The execution_id is different from the operation_id in the SSISDB database.
In the past, I complained about the execution_id and operation_id being the same value and meaning different things. To be sure, if you are designing a database, you need to name fields with identical definitions with the same name. But, as I said, execution_id and operation_id are different values.
Above is a portion of the SSISDB.catalog.executions view. This view, in part, joins data in the internal.executions table to data in the internal.operations table. The JOIN operation is accomplished by mapping the values in the internal.executions.execution_id column to the internal.operations.operation_id column.
I used to fuss about this join, stating something like “This is bad. If the data is the same, the field should be named the same.” Again, that is a correct statement. In this case, though, the data is not the same.
Operations in the SSIS Catalog include way more than executions. Validations are operations, for example. Updating Catalog-wide settings are operations. Executions are operations, too; just not the only operations.
As I regularly tell folks, I’m still learning.