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

SQL Server 2000 DTS 套件部署與參數化實戰:DTSRun 與 ActiveX Script 動態配置

     編輯:關於SqlServer

部署目標

開發環境設計好 DTS 套件後,需將結構化儲存檔案部署至生產環境,並解決來源/目的地連線資訊不同的問題。

核心工具:DTSRun

dtsrun /S Server /U User /P Pwd /N "PackageName" /A "GlobalVar:TypeID=Value" /!Y
  • /A:傳遞全域變數給套件 (如伺服器名、帳號、密碼)。
  • /!Y:輸出加密後的命令列字串,供排程作業使用。

套件重構:加入 ActiveX Script 任務

  1. 新增 ActiveX Script 任務,設為第一個執行步驟。
  2. 工作流屬性 → 勾選「在主套件執行緒中執行」 (解決 COM 單元模型衝突)。
  3. 腳本中讀取 DTSGlobalVariables,動態修改連線物件屬性。

ActiveX Script (VBScript) 範例

' 取得 DTSRun 傳入的全域變數
sServer = DTSGlobalVariables("DBServer").Value
sDB     = DTSGlobalVariables("DBName").Value
sUser   = DTSGlobalVariables("DBUser").Value
sPwd    = DTSGlobalVariables("DBPwd").Value

' 修改名為 "DBConnection" 的連線物件
Set oPkg = DTSGlobalVariables.Parent
Set oConn = oPkg.Connections("DBConnection")
oConn.DataSource = sServer
oConn.Catalog = sDB
oConn.UserID = sUser
oConn.Password = sPwd
' 若使用信任連線
' oConn.UseTrustedConnection = True

生產環境排程作業建立

  1. 企業管理器 → 管理 → SQL Server Agent → 作業 → 新增作業。
  2. 步驟類型選 作業系統命令 (CmdExec)。
  3. 命令貼上 dtsrun ... /!Y 產生的加密字串。
  4. 設定排程 (每日、每週等)。

遷移檢查清單

  • 來源/目標伺服器防火牆開放 1433/命名管道。
  • DTS 套件所用 ODBC DSN 或 OLE DB 提供者在目標機已安裝。
  • 全域變數名稱與腳本讀取完全一致 (區分大小寫)。
  • 測試加密命令列在目標機 cmd.exe 直接執行成功。

現代化替代

SQL Server 2005+ 引入 SSIS (Integration Services),提供視覺化部署、參數化、專案部署模型、環境變數等企業級功能,建議新專案直接採用 SSIS。

DTSRun + ActiveX Script 全域變數注入,是 SQL Server 2000 時代 DTS 套件跨環境部署的標準解法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved