SSIS (SQL Server Integration Services) 取代 DTS,提供強大的 ETL 能力。當內建元件無法滿足需求時,有兩條擴充路徑:
| 元件 | 位置 | 執行模型 | 適用場景 |
|---|---|---|---|
| Script Task | 控制流程 | 套件執行期間一次,全域邏輯、決策、外部呼叫(如查詢 AD、連接其他倉庫) | 流程控制、前置檢查、錯誤處理、斷點除錯 |
| Script Component | 資料流程 | 每一列資料各執行一次,三大角色:來源、轉換、目的地 | 逐列轉換、客製 ODBC 目的地、輕量錯誤處理 |
| 考量因素 | 腳本 | 自訂元件 |
|---|---|---|
| 開發門檻 | 低(VB.NET 片段) | 高(完整類別庫、部署、簽署、GAC) |
| 重用性 | 單一套件內 | 跨專案、跨團隊、NuGet 發布 |
| 效能 | 受 VSA 解釋器限制 | 原生 CLR,完整緩衝區控制 |
| 除錯體驗 | Script Task 完整支援 | 需附加至偵錯器,較複雜 |
| 維運成本 | 低 | 高(版本管理、相依性、升級) |
「腳本解決 80% 客製化需求,自訂元件解決剩餘 20% 核心擴充。」兩者可在同一套件中混用:腳本處理流程邏輯,自訂元件處理高效能資料轉換。依團隊技能、專案規模與長期重用策略選擇。