DTS 核心價值
SQL Server 2000 DTS 提供圖形化設計師與物件模型,讓 DBA 以「套件」封裝 ETL 流程,實現無人值守自動化。
妙用一:郵件通知 — 成功/失敗即時告知
- 套件中加入 Send Mail Task
- 設定 SMTP 伺服器、收件者、主旨模板
- 套件完成 (成功/失敗) 自動寄送含執行統計、錯誤詳情的郵件
- DBA 無需守候螢幕,第一時間掌握狀態
妙用二:執行套件任務 — 套件鏈接與模組化
- 一個「主控套件」透過 Execute Package Task 依序/並行呼叫多個子套件
- 將複雜 ETL 拆解為:
Extract → Transform → Load → Validate → Report 獨立套件
- 優點:模組重用、錯誤隔離、版本管理、團隊並行開發
妙用三:排程執行 — 離峰自動化
- 在 DTS 設計器或企業管理器設定 排程套件
- 指定頻率 (每日/每週/每月)、時間 (如凌晨 02:00)、持續期間
- SQL Server Agent 自動啟動套件,DBA 只需檢查翌晨郵件報告
- 大量資料匯入、資料倉庫重建、帳務結轉等批次作業最適用
妙用四:大量資料轉換與匯入 — 畫龍點睛
- 支援多樣來源:文字檔、Excel、Access、OLE DB/ODBC 任何來源
- 資料轉換任務:查閱、衍生欄位、複製欄位、轉換腳本 (ActiveX/VBScript)
- 大量插入任務:
BULK INSERT 級效能,配合 BATCHSIZE、TABLOCK
- 錯誤處理:將錯誤列導向錯誤檔/錯誤表,成功列正常寫入,不中斷整體流程
實務建議
- 套件部署至
msdb (SQL Server 儲存) 或結構化儲存檔,利於版本控管
- 設定套件密碼保護,防止未授權修改
- 善用 全域變數 傳遞參數 (如日期、批次代碼) 給子套件
- 工作流條件約束 (Success/Failure/Completion) 實現複雜分支邏輯
遷移提醒
SQL Server 2005+ 以 SSIS (Integration Services) 取代 DTS,功能更強 (資料流引擎、Script Task 支援 .NET、部署模型改進)。現有 DTS 套件可用「DTS 套件遷移精靈」升級為 SSIS。