权限从Sql Job运行SSIS包的问题

时间:2012-05-07 21:27:06

标签: sql-server-2008 permissions ssis

我有一个部署到Sql Server 2008的SSIS包。这个包在BIDS和存储包目录中的服务器上运行良好。一旦我将这个包绑定到一个sql作业,我就开始看到从SSIS包中访问特定文件的权限问题。因此,通过我的研究,我发现使用代理帐户可能是我的问题的解决方案。这些是我到目前为止所采取的步骤:

  1. 设置Active Directory用户帐户
  2. 在安全性下 - 凭据 - 在步骤1中创建了与帐户绑定的凭据。
  3. 在Sql Server Agent下 - 代理 - SSIS包执行 - 创建一个与上面的凭据绑定的代理,并选中“SQL Server Integration Services包”复选框。
  4. 在msdb数据库上创建了一个名为“SQLAgentOperatorRole”,“SQLAgentReaderRole”,“SQLAgentUserRole”和“Public”的登录名。
  5. 创建作业以运行我的SSIS包。作业所有者与在步骤4中创建的登录绑定。在我的作业的步骤属性下,我将类型设置为“Sql Server Integration Services包”,并将步骤3中创建的代理帐户的运行方式选项设置为指向我的SSIS包。
  6. 从步骤1访问SSIS包指向的文件夹/文件,完全控制帐户。
  7. 当我开始工作时,我不断得到错误:

    以用户身份执行:“来自步骤1的帐户” - 无法加载包。登录用户失败:“来自步骤1的帐户”。无法加载包。

    完成这项任务我可以缺少哪一步?

    谢谢你的时间, 比利

2 个答案:

答案 0 :(得分:1)

想出这个。解决方法是在sql服务器上设置与登录相同的AD帐户,并具有与上述步骤4中相同的登录角色。

希望这有助于某人。

答案 1 :(得分:0)

您是否查看过Windows服务以查看运行SQL Server代理的帐户?如果该登录(运行该服务的登录)具有足够的权限在数据库上运行查询,那么您只需将服务登录更改为您的(用于测试目的)。完成后,重新启动服务并尝试一下。 让我们知道你发现了什么。