Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

SSIS 災難恢復利器:Checkpoint 機制配置與實戰演示

編輯:系統常見問題解答

SSIS(SQL Server Integration Services)執行長時間資料同步任務時,若中途失敗,重跑整個流程耗時且可能造成資料重複。Checkpoint 正是內建的斷點續傳機制,僅需設定幾個屬性即可實現「失敗點續跑」,大幅降低維運風險。

核心屬性設定

套件層級

  • CheckpointFileName:指定檢查點檔案路徑(如 D:\SSIS\Checkpoints\pkg.checkpoint),記錄執行快照。
  • CheckpointUsage:
     • IfExists(預設):檔案存在才啟用續跑。
     • Always:每次執行都嘗試續跑。
     • Never:停用。
  • SaveCheckpoints:必須設為 True,才會寫入檢查點檔案。

控制流程任務層級

  • FailPackageOnFailure = True:該任務失敗時,標記套件失敗,下次從該任務重新開始。
  • FailParentOnFailure = True:該任務失敗時,標記父容器失敗,下次從父容器重新開始(適用於需整批重跑的序列/迴圈容器)。

實戰演示

案例 1:單任務失敗續跑

首次執行:任務 1→2→3,任務 2 失敗。

首次執行失敗於任務2

第二次執行:任務 1 顯示綠色(已完成略過),直接從任務 2 重跑。

第二次從任務2續跑

案例 2:父容器失敗整批重跑

序列容器內含任務 A、B、C,設定容器 FailParentOnFailure=True。
首次執行:任務 B 失敗。

首次執行容器內任務B失敗

第二次執行:整個容器(A、B、C)全數重跑。

第二次容器整批重跑

最佳實踐建議

  1. 將 CheckpointFileName 放在非系統盤,避免空間不足。
  2. 生產環境建議 CheckpointUsage=IfExists,配合作業排程自動清理舊檢查點檔。
  3. 資料流程任務內部不支援 Checkpoint,若需細粒度斷點續傳,請拆分為多個控制流程任務或使用資料庫暫存表記錄進度。
  4. 部署時確保執行帳戶對檢查點檔案目錄有讀寫權限。

善用 Checkpoint,讓 SSIS 封裝具備企業級的容錯與可恢復能力。

Copyright © Windows教程網 All Rights Reserved