SQL Server 2000 の DTS パッケージをまとめて構造化ストレージ ファイル(.dts)として保存する

SQL Server 2000 の DTS(データ変換サービス)パッケージをまとめて構造化ストレージ ファイル(.dts)として保存するには、WSHVBScript)を使って、次のように記述します。

Const DTSSQLStgFlag_UseTrustedConnection=256

Set cn = WScript.CreateObject("ADODB.Connection")
cn.Open "Provider=SQLOLEDB;" _
        & "Server=(local);" _
        & "Integrated Security=SSPI;"
Set rs = cn.Execute("msdb..sp_enum_dtspackages")

Do Until rs.EOF
 pkgName = "c:\" & rs("name") & ".dts"
 pkgID = rs("id")
 Set obj = WScript.CreateObject("DTS.Package")
 obj.LoadFromSQLServer "(local)", "", "", _
			 DTSSQLStgFlag_UseTrustedConnection, _
			 "", pkgID
 obj.SaveToStorageFile pkgName
 Set obj = Nothing
 rs.MoveNext
Loop
Set rs = Nothing
Set cn = Nothing

sp_enum_dtspackages ストアド プロシージャでパッケージの一覧を取得して、LoadFromSQLServer メソッドで DTS パッケージの取得、SaveToStorageFile メソッドで構造化ストレージ ファイル(.dts)として保存しています。


このスクリプトは、DTS パッケージを別のマシン(SQL Server 2000)へ移動したい場合や、SQL Server 2005 や SQL Server 2008 へアップグレードしたい場合に便利です。なお、SQL Server 2005/2008 へアップグレードするには、Integration Services の「DTS 2000 パッケージ実行タスク」を利用するか、「パッケージ移行ウィザード」を利用して Integration Services パッケージへ変換するようにします。