rvphx
rvphx

Reputation: 2402

ExecutionID changes in SSIS Package logging

I was hoping to find an answer for this:

In sysssislog table, the executionID changes for the same package twice. For example, on the prevalidate phase, the executionID is 19EF7848-F626-4AF6-8B5F-0F419530597E. But this executionID changes to DA549ABD-27CC-4965-9DA0-FC701FB8F92C when the package starts executing.

To find more information on this, I read the BOL entry about the sysssislog table and it states that (as a special note on ExecutionID):

Running a single package might create log entries with different values for the ExecutionID element. For example, when you run a package in SQL Server Data Tools, the validation phase might create log entries with an ExecutionID element that corresponds to SQL Server Data Tools. However, the execution phase might create log entries with an ExecutionID element that corresponds to dtshost.exe. For another example, when you run a package that contains Execute Package tasks, each of these tasks runs a child package. These child packages might create log entries that have a different ExecutionID element than the log entries that the parent package creates.

I am at a loss to understand this behavior. Shouldn't the executionID remain same throughout the execution of the package? I am considering using the packageGUID as my identifier so that I can get around this issue, but any help on this would be appreciated. TIA.

Upvotes: 1

Views: 2017

Answers (1)

billinkc
billinkc

Reputation: 61239

Much as BOL states, if you're running a package from within BIDS (2005-2008R2)/SSDT (2012) the execution id for a package is going to fluctuate based on where in the stream of events processing is. If this is unacceptable, only run packages from the command-line (dtexec /file myPackage.dtsx) or through an Agent job. That will eliminate the opportunity for the validation phase to acquire a different execution id. I don't believe you have any recourse for child packages.

Upvotes: 2

Related Questions