如果有多个任务可用,SSIS如何决定下一个要执行的任务

时间:2009-01-29 19:18:25

标签: ssis parallel-processing task

例如,如果我添加四个(空白)脚本任务A1,A2,B1和B2,其中A2具有在A1之后运行的约束,B2具有在B1之后运行的约束,但A1和B1都没有约束,那么任务会以什么顺序运行?

当我尝试这个时,它似乎做A1,然后是B1,然后是A2,然后是B2。但为什么?这个问题出于好奇。


编辑添加:

我专门将并行性设置为1并添加了消息框,以便我可以看到它所采用的顺序。它总是采用我上面提到的相同顺序,但是对于为什么选择这个顺序有任何逻辑感到好奇。


似乎首先执行所有一级(无约束)任务,然后继续执行约束任务。

2 个答案:

答案 0 :(得分:2)

包被存储为XML .dtsx文件。没有约束,对象将按它们在文件中出现的顺序执行。

答案 1 :(得分:1)

我总是看到这样的东西并行运行。

因此A1和A2将运行,然后B1将在A1完成后立即启动,B2将在B1完成后立即启动。

除非你明确地设置了约束,否则没有什么可以阻止它们同时运行。如果您的脚本任务非常短或者您限制了并行性,也许它会按顺序运行它们,但我确信所选择的序列不能得到保证。