For 迴圈或 Foreach 循環容器專案不接受 SSIS 檢查點

本文可協助您解決 SQL Server Integration Services (SSIS) 檢查點不接受 For LoopForeach 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 LoopForeach Loop 容器包裝在 Sequence 容器內。