Agent Job代理 执行SSIS Package

摘要: 在使用Agent Job时, 运行SSIS包的Run as账号,必须有SSIS中connection manager的连接权限。

            如果没有连接权限,可以用创建proxy账号,并确保proxy账号有连接权限的方式来执行。

案例:

  1. Package包中,用到了ODBC的方式连接到数据源,但是创建的ODBC是User DNS(仅对当前账号可用),而非System DNS(所有登录到改机的用户都可用,包括NT Services)     

SSIS连接:

  2. 创建的SSIS包,在项目中手工运行时没有问题;但是在Agent Job中做定时调用时,就会报错 0xC0014009.

      这里用的默认Run as账号: SQL Server Agent Service Account, 因为该账号没有查看ODBC的User DNS的权限,所以报错;若是想使用这个默认Agent账号运行,可以尝试创建ODBC数据源的时候,使用System DNS的方式。

  3. 若想在User DNS下,依然能在Job中调用,则需要创建一个proxy代理账号,并确保该代理账号能够访问User DNS, 然后使用该账号运行SSIS Package.

  这个账号,需要在Credential中创建出来的,这里admin具有查看User DNS的权限,因此在Job中再Run as执行定时任务时,就没有问题了。

原文地址:https://www.cnblogs.com/lynhou/p/10314311.html