2009-01-29 42 views
1

例如,如果我添加四個(空白)腳本任務A1,A2,B1和B2,其中A2具有約束條件以便在A1和B2之後運行一個在B1之後運行的約束,但A1和B1都沒有約束,那麼這些任務的運行順序是什麼?如果有多個任務可用,那麼SSIS如何確定下一步要執行哪個任務

當我嘗試這樣做,它似乎做A1,然後B1,然後A2,然後B2。但爲什麼?這個問題出於好奇。


編輯補充:

我專門設置平行度爲1個,並添加消息框,所以我可以看到它採取的順序。它總是採用與上面我注意到的順序相同的順序,但是對於它爲什麼選擇這個順序是否存在邏輯很好奇。


它似乎先完成所有一級(無約束)任務然後繼續約束任務。

回答

2

程序包存儲爲XML .dtsx文件。如果沒有約束,對象將按照它們在文件中出現的順序執行。

+0

如果你喜歡我的回答,你應該接受並投票。謝謝! – 2009-02-06 05:44:23

1

我總是看到像這樣的事情並行運行。

因此,A1和A2將運行,然後B1將在A1完成後立即啓動,B2將在B1完成後立即啓動。

除非您明確提出約束條件,否則無法同時停止運行。如果你的腳本任務很短,或者你限制了並行性,也許它會按順序運行它們,但我確信所選擇的順序不能保證。

相關問題