For 迴圈或 Foreach 循環容器專案不接受 SSIS 檢查點
本文可協助您解決 SQL Server Integration Services (SSIS) 檢查點未接受 For Loop
或 Foreach Loop
容器項目的問題。
原始產品版本:SQL Server
原始 KB 編號: 2624458
徵兆
請參考下列案例:
您可以在電腦上安裝Microsoft SQL Server Integration Services。
您可以建立 SSIS 套件,其中包含 For 迴圈容器專案,後面接著循序容器。
For 迴圈容器和時序容器專案都有下列其中一項:
- 執行 SQL 工作 (OR)
- 平行執行的兩個或多個執行 SQL 工作。
您可以啟用 SSIS 套件的檢查點設定。
您執行 SSIS 套件
「For 迴圈容器」會完成,封裝執行會傳至「時序容器」。
您採取下列其中一個動作:
- 對於具有單一「執行 SQL 工作」的套件,您會在工作仍在執行時停止封裝執行。
- 對於執行多個執行 SQL 工作的封裝,您可以停止封裝執行,或是在其中一項工作中遇到失敗,而其他執行 SQL 工作 (s) 仍在執行中
SSIS 套件會再次執行。
在此案例中,套件會從 For Loop
容器開始, Sequence
而不是容器。
注意
此問題不會系結至執行 SQL 工作。 這可能會與其他工作一起發生。
原因
這是依照設計的行為。 不會儲存容器 For Loop
和 Foreach Loop
容器專案的檢查點數據。 如果迴圈中的子容器成功執行,就不會記錄在檢查點檔案中。 因此,當封裝重新啟動時,每個容器專案中的工作都會再次執行。
因應措施
若要解決此問題,請將 或 容器包裝 For Loop
在 Foreach Loop
容器內 Sequence
。