控制流可以被設計成并行執行,線性執行或者二者結合。控制流任務本身是線性執行的,這意味着一個任務在切換到另外一個任務之前必須先執行完畢。雖然在一個package中可以設計出互相之間沒有依賴性的控制流任務,這些任務在包中仍然是線性執行的,換一種說法就是,當一個任務正在執行的時候,它不會跳到下一個任務中。SSIS執行線程會仍然停留在目前任務,知道成功執行完畢或者失敗。
注意:控制流同步執行和資料流的異步執行沒有沖突。二者之間有一些差别。在資料流任務中主要關注的是如何處理資料,而不是控制流程。
在內建服務中還允許設定最大允許的同步執行的任務的個數,通過屬性MaxConcurrentExecutables可以設定。在Control Flow界面内右擊Properties,如圖1

圖1
預設的值是-1,例如,如果伺服器有4個處理器,內建服務将允許6個任務并行執行。如果目前正在執行的任務個數比允許的個數要多,一些任務就需要等待隻到有空閑的線程。
相比較之下,一些任務需要更多的伺服器資源,是以執行的并發性不應該過度地依賴處理器的個數。是以任務的。例如如果一個package包含一個資料流任務,那麼這個package就可能需要更多的伺服器資源。事實上,資料流任務可以設定成多線程執行,這些将在後面的内容中介紹。
作者:
Tyler Ning出處:
http://www.cnblogs.com/tylerdonet/本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,如有問題,可以通過以下郵箱位址
[email protected]聯系我,非常感謝。