SQL Server无法执行SSIS包

时间:2015-06-21 12:28:53

标签: sql-server ssis

我已将SQL Server从2012升级到2014年,但现在我无法运行SSIS包,我收到错误:

  

无法执行xp_regread程序“

我是sysadmin角色的一部分。

我试图明确授予我权限但我得到同样的错误。

1 个答案:

答案 0 :(得分:0)

http://support.microsoft.com/kb/2720171/en-us修复的问题(不需要最新的CU)有一个特定的原因:

  

"出现此问题是因为Integration Services的执行方式   存储在SQL Server 2012环境中的SSISDB中的包。"

翻译,这意味着微软未能确保"执行用户:DOMAIN | USER"被授予运行XP_REGREAD的权限。

这并不意味着每个用户都必须获得运行XP_REGREAD的权限。这意味着每个用户,即使他们应该有权运行XP_REGREAD,也无法运行XP_REGREAD(因此错误,因此修复)。

检查以下内容:

  1. 是否所有软件包都失败了,或者只是这个软件包失败了吗?
  2. 搜索软件包的T-SQL步骤(如果有),以了解是否存在" xp_regread"。
  3. 以用户身份登录:xxxx(或SETUSER)并尝试运行xp_regread。 3A。包可以手动运行(在预定作业之外)吗? 3B。查看SQL Server 2012中user:xxxx的权限和角色成员身份(如果仍然可用)或临时使用户成为sysadmin(用于测试目的)。
    1. 如果是SQL Server登录,请确保" user:xxxx"的sys.database_principals;通过SID映射到正确的sys.server_principals(如果没有,则使用sp_change_users_login)。
    2. 确保SQL Server代理是SQL Server的sysadmin角色的成员。