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