DTS 概述
Data Transformation Services (DTS) 支援異構資料來源(SQL Server、Oracle、Sybase、文字檔等)間的資料匯入、匯出、轉換與資料庫物件傳輸。核心優勢:
- 資料移動:不同應用程式間交換資料(文字檔、Access → SQL Server)。
- 資料轉換:抵達目的前運算新欄位值(如合併欄位、計算)。
- 物件傳輸:異構間傳輸表定義與資料;索引、限制、檢視需以任務執行 SQL 建立。
DTS 結構:封裝與三大底層物件
封裝為最上層物件,可儲存於檔案、msdb、Repository。執行方式:dtsrun、Designer、Wizard、SQL Agent 作業、COM Execute 方法。
封裝包含三種底層物件:
1. 連接
定義來源/目的資料來源資訊(格式、位置、認證)。三種類型:
- 資料來源連接(OLE DB/ODBC)
- 檔案連接
- Microsoft Data Link (*.udl)
使用連接的任務:Data Pump、Execute SQL、Data Driven Query、Custom Task。
2. 任務
每個封裝含一或多個任務,類型包括:
- Execute SQL Task
- Data Pump Task(核心複製/轉換)
- ActiveX Script Task(VB/JScript/PerlScript)
- Execute Process Task(外部程式)
- Bulk Insert Task
- Send Mail Task(SQL Mail)
- Data Driven Query Task
- Transfer SQL Server Objects Task
3. 步驟與優先權限制
步驟定義任務執行順序與相依性。若任務未關聯步驟則不會執行。可設定執行條件、平行執行提升效能。
優先權限制三類型:
- 完成:前一步驟完成即執行(不論成敗)。
- 成功:前一步驟成功才執行。
- 失敗:前一步驟失敗才執行。
單一步驟可有多個限制,需全部滿足才執行。
小結
理解封裝、連接、任務、步驟與優先權限制的關係,是設計穩健、可維護 DTS 解決方案的基礎。