首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SSIS Checkpoint 檢查點機制:讓長時間 ETL 封裝支援失敗重啟續跑

     編輯:關於SqlServer

ETL 封裝包含多個任務且執行時間長時,任一任務失敗導致整包重跑極為浪費。Checkpoint 機制記錄執行進度,失敗後重啟可跳過已成功任務,直接從失敗點續跑。

啟用 Checkpoint 關鍵屬性

  • SaveCheckpoints = True:啟用檢查點儲存。
  • CheckpointFileName:指定 .xml 檢案路徑(建議放在共享儲存)。
  • CheckpointUsage = IfExists:啟動時若檔案存在則載入進度,否則從頭開始。

任務層級設定

每個任務的 FailPackageOnFailure 屬性決定失敗時是否標記封裝失敗並寫入檢查點。建議關鍵任務設為 True,輔助任務可設為 False。

範例封裝流程

ETL 流程:
1. EST_TruncateAddress  - 清空暫存表
2. DFT_LoadAddress      - 從 AdventureWorks 載入地址資料
3. DFT_SaveAddressAudit - 統計並寫入稽核表
4. DFT_OutputAddressAudit - 匯出稽核資料至文字檔

實測驗證

故意讓第 3 步驟失敗,重新執行封裝時,前兩步驟會顯示「已完成」略過,直接從第 3 步驟開始。若修正錯誤後再跑,第 4 步驟也會正常執行。檢查點檔案記錄了變數值與執行狀態,確保狀態一致性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved