圖解:SQL Server SSIS包和job的部署攻略
以下將建立一個SQL Server SSIS包 然后在job中使用這個包,并將job部署到目標機器
1. 首先建立ssis包,使用sql
server 自帶的business
intelligence development stdio即可定制自己所需的SSIS
package

2. 將SSIS包中需要動態改變的配置導出config文件,比如數據庫的連接字符串等,
在包的work
flow的空白處右鍵,選擇包配置

3. 勾選啟用包配置, 添加一個xml的config文件, 然后選擇需要放到config中動態配置的屬性,此處我選擇了一個自定義變量和兩個db的連接字符串

4. 將啟用包配置的勾去掉,否則編譯的時候不會產生config文件。 編譯SSIS
package。
此時,在SSIS項目路徑下的\bin\Deployment下可以看到有個.dtsx文件,和一個.DtsConfig文件一個是包文件,一個是配置文件,將來需要改變配置的屬性時用notepad打開DtsConfig即可
5. 在數據庫中建立一個job,在我的job中,第一步使用到了上述的SSIS
package
6. 利用數據庫的企業管理器將job導出腳本

7. 修改腳本, 特別注意紅框標注的部分,將腳本保存

8. 編寫部署腳本,個人推薦使用powershell,因為在powershell中可以修改config文件,不需要先手動修改config了
powershell腳本:
Write-Host
"install the ssis package"
dtutil.exe /FILE ".\ImportClickInfo.dtsx" /DestS $LocalServer /COPY
SQL";\Maintenance Plans\ImportClickInfo" Write-Host "setup the
job"
sqlcmd -S $LocalServer -E -i ssis_ClickInfo.sql
cmd腳本:
@echo
off
if "%1"=="" goto help
if "%1"=="/h" goto help
if "%1"=="/?" goto help
@rem
install the ssis package
dtutil /FILE ImportClickInfo.dtsx /DestS %1 /COPY SQL;"\Maintenance
Plans\ImportClickInfo"
@rem
setup the job
sqlcmd -S %1 -E -i ssis_ClickInfo.sql
goto
:eof
:help
@echo Usage:
@echo input the server name
9. 在需要部署的機器上將XXX.dtsx文件,XXX.DtsConfig文件,XXX.sql,還有用于部署的腳本文件(.cmd 或者 .ps1)復制過去
10. 修改DtsConfig中需要修改的值,如連接字符串等, 修改XXX.sql中的絕對路徑地址,將ssis_conf改為目標機器上的路徑
11. 在目標機器運行部署腳本,大功告成。
浙公網安備 33010602011771號