ETL 封裝包含多個任務且執行時間長時,任一任務失敗導致整包重跑極為浪費。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 步驟也會正常執行。檢查點檔案記錄了變數值與執行狀態,確保狀態一致性。