图解:SQL Server SSIS包和job的部署攻略

原文:图解:SQL Server SSIS包和job的部署攻略

以下将建立一个SQL Server SSIS包 然后在job中使用这个包,并将job部署到目标机器

1. 首先建立ssis包,使用sql
server 自带的business
intelligence development stdio即可定制自己所需的SSIS
package

图解:SQL Server SSIS包和job的部署攻略

2. 将SSIS包中需要动态改变的配置导出config文件,比如数据库的连接字符串等,
在包的work
flow的空白处右键,选择包配置

图解:SQL Server SSIS包和job的部署攻略

3. 勾选启用包配置, 添加一个xml的config文件, 然后选择需要放到config中动态配置的属性,此处我选择了一个自定义变量和两个db的连接字符串

图解:SQL Server SSIS包和job的部署攻略

4. 将启用包配置的勾去掉,否则编译的时候不会产生config文件。 编译SSIS
package。

此时,在SSIS项目路径下的\bin\Deployment下可以看到有个.dtsx文件,和一个.DtsConfig文件一个是包文件,一个是配置文件,将来需要改变配置的属性时用notepad打开DtsConfig即可

5. 在数据库中建立一个job,在我的job中,第一步使用到了上述的SSIS
package

6. 利用数据库的企业管理器将job导出脚本

图解:SQL Server SSIS包和job的部署攻略

7. 修改脚本, 特别注意红框标注的部分,将脚本保存

图解:SQL Server SSIS包和job的部署攻略

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. 在目标机器运行部署脚本,大功告成。

上一篇:以实现MongoDB副本集状态的监控为例,看Telegraf系统中Exec输入插件如何编写部署


下一篇:JSP第三篇【JavaBean的介绍、JSP的行为--JavaBean】