This project is read-only.

Execution_guid not matching [dbo].[sysssislog] Executionid

Topics: Developer Forum
Mar 17, 2011 at 3:18 PM


Is there any reason why dtloggedExec is not using the system variable from SSIS  ExecutionInstanceGUID to populate the  [DTLoggedExecDB].[dbo].[package_executions].[execution_guid]?

to me it look like the dtloggedexec just creates it own value but it would be so great to be able to connect to the sysssislog with this guid. And I was planning on using that as a metatag on the data as well.  



Mar 18, 2011 at 5:30 PM

Yes, the reason is that, AFAIK, the ExecutionInstanceGUID is exposed only as a System Variable and it is not a property of any internal objects that I can access using the SSIS API. My guess is that also DTExec generates it at runtime and add it to the system variables.

Why do you need to use sysssislog table? You can have all that information (and much more) using DTLoggedExec's CSV Log Provider :)

Mar 19, 2011 at 6:50 PM

thank you for your answer, no wonder that I did not find this property anyware.

I do not want to turn off the sysssislog becaue some other packages will still use that and the dba's in my company do not jump on big changes like this :-). I was thinking about using the executioninstanceGUID as a metatag on my warehouse data, and then it would be great to have the same GUID all over, If it can not be the same value everyware I think I will rather use big int for my metatag.

Sep 15, 2014 at 8:43 PM
I know this is thread necromancy, but I actually modified the code to change the execution instance guid to the one generated by the System variable, because I was using that execution instance guid in my packages to keep track of what data was loaded as part of which package execution. Essentially, I let DTexec generate an execution instance guid, but when the package is loaded, I grab the generated GUID:
                Program._executionGuid = new Guid(pkg.Variables["System::ExecutionInstanceGUID"].Value.ToString());