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

SSIS 套件中新增與捆綁 SQL 執行任務:資料流程與控制流程實作指南

     編輯:關於SqlServer

前置作業:建立資料來源連線

  1. 方案總管 → 右鍵「資料來源」→ 「新增資料來源」
  2. 資料來源精靈 → 「新增」→ 選擇「SQL Server Native Client / OLE DB Provider」
  3. 設定伺服器名稱、驗證方式、目標資料庫 → 測試連線 → 完成

新增資料來源精靈
圖 1:新增資料來源精靈

選擇連線管理員
圖 2:選擇或建立連線管理員

控制流程:執行 SQL 任務

  1. 工具箱拖曳「執行 SQL 任務」至控制流程設計介面
  2. 雙擊編輯 → 「一般」頁:
      • 連線管理員:選擇上述建立的連線
      • SQLStatementSource:直接輸入 / 檔案連線 / 變數
      • SQLStatement:輸入 T-SQL 陳述式(可用參數 ?)
  3. 「參數對應」頁:將變數/參數對應至 SQL 中的 ? 佔位符(依序 0,1,2...)
  4. 「結果集」頁:若為 SELECT,設定 ResultSet = Single row / Full result set / XML,並對應至 SSIS 變數(物件型別用於後續資料流程)

捆綁多個 SQL 陳述式為邏輯單元

  • 序列容器:將多個「執行 SQL 任務」放入序列容器,統一設定交易屬性(TransactionOption = Required),確保全成功或全失敗。
  • 優先順序條件約束:任務間連線綠線(成功)、紅線(失敗)、藍線(完成),支援運算式條件(如 @RowCount > 0)。
  • 單一任務多陳述式:SQLStatementSource = 直接輸入 時,可在編輯器中輸入多條以分號分隔的 T-SQL(需 SET NOCOUNT ON 避免干擾結果集)。

資料流程:OLE DB 來源/目的地執行 SQL

  • OLE DB 來源:Data access mode = SQL 命令 / SQL 命令來自變數,可參數化 ?。
  • OLE DB 命令轉換:逐列執行參數化 INSERT/UPDATE/DELETE(效能較低,大量資料改用目的地快速載入)。
  • OLE DB 目的地:Fast Load 選項啟用批次大小、鎖定資料表、檢查條件約束,效能最佳。

參數化與變數最佳實務

-- 變數定義(SSIS 變數視窗)
User::StartDate  DateTime
User::EndDate    DateTime
User::BatchSize  Int32 = 5000

-- SQL 命令範例
SELECT * FROM Orders
WHERE OrderDate >= ? AND OrderDate < ?
  AND BatchID = ?;

參數對應順序:0→StartDate, 1→EndDate, 2→BatchID。

除錯與部署提示

  • 設計階段:啟用「資料檢視器」在資料流程路徑上即時查看資料樣本。
  • 執行記錄:設定 Logging 記錄至 SQL Server / 檔案 / Windows 事件,記錄 OnError、OnWarning、OnPreExecute 等事件。
  • 部署:專案部署模型(SSISDB 目錄)支援環境變數、版本控管、排程執行(SQL Agent 作業)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved