我希望为此找到答案:
在 sysssislog 表中,同一包的 executionID 更改了两次。例如,在 prevalidate 阶段, executionID 是19EF7848-F626-4AF6-8B5F-0F419530597E
. 但是这个 executionID 会更改为DA549ABD-27CC-4965-9DA0-FC701FB8F92C
包开始执行的时间。
要查找有关此的更多信息,我阅读了有关 sysssislog 表的 BOL 条目,它指出(作为 ExecutionID 的特别说明):
运行单个包可能会为 ExecutionID 元素创建具有不同值的日志条目。例如,当您在 SQL Server Data Tools 中运行包时,验证阶段可能会创建带有对应于 SQL Server Data Tools 的 ExecutionID 元素的日志条目。但是,执行阶段可能会使用对应于 dtshost.exe 的 ExecutionID 元素创建日志条目。再例如,当您运行包含执行包任务的包时,这些任务中的每一个都运行一个子包。这些子包创建的日志条目可能具有与父包创建的日志条目不同的 ExecutionID 元素。
我无法理解这种行为。在整个包的执行过程中,executionID 不应该保持不变吗?我正在考虑使用 packageGUID 作为我的标识符,这样我就可以解决这个问题,但是对此的任何帮助将不胜感激。TIA。