图解:SQL Server SSIS包和job的部署攻略
原文:图解: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. 在目标机器运行部署脚本,大功告成。
最新文章
- HTML5应用缓存机制
- UWP webview 键盘bug,回退页面,键盘会弹一下。
- [python爬虫] Selenium定向爬取海量精美图片及搜索引擎杂谈
- java学习之Java中JDK,JRE和JVM之间的关系(转载)
- [Unity Shader]Shader分类
- Windows环境下应用Java代码操作Linux资源
- python - 文件系统和文件
- Pandas模块:表计算与数据分析
- Java并发—synchronized关键字
- easyui 功能介绍
- 解决highCharts导出功能汉化问题
- Nginx-配置一个简单的http虚拟服务
- 初识Elasticsearch,bulk 操作的遇到的那些事
- HGOI20180814 (NOIP 模拟Day1)
- Android数据库高手秘籍(零)——前言
- ansible普通用户su切换
- Linux命令_磁盘管理_查看磁盘或目录的容量
- pyqt与拉勾网爬虫的结合
- 30分钟带你了解Docker
- maven的下载
热门文章
- Quartus II 11.0破发点(不同的是低版本号)
- .Net async
- 深度解析:Android在Mms设置页面更改短信中心号码流程
- 【C疯狂的教材】(四)C语言分支语句
- WiX Toolset
- document.all使用
- NPOI以及在ASP.NET MVC中的使用
- 关于在 xmlSPY 出现的错误 DOCTYPE-EXternalID的名称必须既是SYSTEM 又是PUBLIC?(转)
- 【甘道夫】官方网站MapReduce代码注释具体实例
- CodeForces 28D Don&;#39;t fear, DravDe is kind dp