部署SSIS数据包和使用Job自动执行SSIS的包

其实这个网上的资料相当多,但是按照他们的做没有一个彻底成功的,说到底都是某些地方的设置问题,希望我能把所有的点都写清楚,某些地方可能直接引用其他兄弟的文章,这样比较节约时间。

关于SSIS的开发和执行环境的部署,如果你仅仅是SQL Server上面的,会简单很多,基本不用配置什么,如果还设计其他类型数据库,如PostgreSQL数据库,你可以参考我的文档:

https://www.cnblogs.com/ziqiumeng/p/9463696.html  和    https://www.cnblogs.com/ziqiumeng/p/9452763.html

部署的方式有两种:

第一种:

将包开发好以后,在以下路径会生成一个 .ispac的部署文件,如果你用这个直接去部署,会有以下的报错:就是说系统需要一个SSISDB,但是你不要自己去创建

 

使用如下方法去创建SSISDB,如下操作后刷新”Databases“就能看到SSISDB了  

 

部署包之前需要先创建存储包的文件夹,也可以参考:http://www.sqlservercentral.com/articles/Integration+Services+(SSIS)/125585/

 

 

然后将.ispac的文件导进去

 

 

文件导入成功,如下,点击Close即可 

 

 单独执行这个包试下,注意:要使用32bit run,包括后面Job设定也是一样要使用32bit run

 

 

第二种:部署到"Integration Services"上面(目前我用的是这种,我担心到时候我部署的那一台挂了,AlwaysOn不能把这个系统转移),4:导入一个 .dtsx的文件

 

用Job Run:

如下1是自己创建的agent账户,之所以不用SQL Server agent service account(好像也可以用这个账号执行,但是要设置,可以参考:

https://blog.csdn.net/os005/article/details/7731255,但是我看了下,我们目前的设置已经和这个兄弟说的一样的了,但是还是不能执行,目前这个网址我感觉没啥用),因为它的权限不足,不能执行SSIS,解决的方法就是创建1的agent账号,创建方法可以参考:

https://www.cnblogs.com/invinboy/archive/2010/01/28/1657107.html

 

 

 

注意:常规情况下,如果你用SQL Server管理员账号创建凭据和proxy去执行SSIS Job的话就OK了,但是如果创建凭据的账号不是管理员,那么需要给改账号如下权限:

1、Server Roles:只需要public就行了

2、"User Mapping"需要给指定“msdb”然后给 “db_ssisoperator”的权限去执行SSIS的Job

 

posted @ 2018-08-29 23:56  秋天的林子  阅读(1918)  评论(0编辑  收藏  举报