我希望能找到答案:
在sysssislog表中,同一包的executionID更改了两次。例如,在预验证阶段,executionID是19EF7848-F626-4AF6-8B5F-0F419530597E。但是,当包开始执行时,这个executionID更改为DA549ABD-27CC-4965-9DA0-FC701FB8F92C。
为了找到有关这方面的更多信息,我阅读了关于sysssislog表的BOL条目,它指出(作为对ExecutionID的特别说明):
运行单个包的
可能会为ExecutionID元素创建具有不同值的日志条目。例如,在Server数据工具中运行包时,验证阶段可能会使用与Server数据工具相对应的ExecutionID元素创建日志条目。但是,执行阶段可能使用对应于ExecutionID的dtshost.exe元素创建日志条目。另一个例子是,当您运行包含执行包任务的包时,这些任务中的每一个都运行一个子包。这些子包可能创建具有与父包创建的日志条目不同的ExecutionID元素的日志条目。
我无法理解这种行为。在整个包的执行过程中,executionID不应该保持不变吗?我正在考虑使用packageGUID作为我的标识符,这样我就可以解决这个问题,但是如果能在这方面提供任何帮助,我将不胜感激。蒂娅。
发布于 2012-06-19 16:45:13
正如BOL所述,如果您在投标(2005-2008R2)/SSDT (2012年)中运行一个包,则包的执行id将根据事件处理流程中的位置而波动。如果这是不可接受的,则只从命令行(dtexec /file myPackage.dtsx)或通过代理作业运行包。这将消除验证阶段获取不同执行id的机会。我不相信你对儿童包裹有任何追索权。
https://stackoverflow.com/questions/11103777
复制相似问题