Sql server 存储过程作为';执行SSIS包时出现权限错误;sa';

Sql server 存储过程作为';执行SSIS包时出现权限错误;sa';,sql-server,stored-procedures,ssis,database-permissions,Sql Server,Stored Procedures,Ssis,Database Permissions,我有一个执行ssis导入包的存储过程,该存储过程由ServiceBroker队列调用。 我得到以下错误: 'The server principal "sa" is not able to access the database "SSISDB" under the current security context.' 在队列定义中,激活过程设置为“自我执行” SSIDB的所有者似乎是我通常的登录名(ActiveDirectory登录名)(显然只有windows登录名,而不是数据库登录名才能

我有一个执行ssis导入包的存储过程,该存储过程由ServiceBroker队列调用。 我得到以下错误:

'The server principal "sa" is not able to access the database "SSISDB" under the current security context.'
  • 在队列定义中,激活过程设置为“自我执行”
  • SSIDB的所有者似乎是我通常的登录名(ActiveDirectory登录名)(显然只有windows登录名,而不是数据库登录名才能使用SSIS?)
  • 试图将队列定义修改为“执行身份”,显然sa无法模拟其他帐户
我是否应该(以及如何/如何无害地)将SSIDB数据库所有者更改为sa(嗯……我想是dbo?)
是否有其他方法允许sa执行ssis包?

大主题。您的问题不是SSIS本身,而是一个通用的跨数据库安全问题(假设您使用
SSISDB.catalog.start\u execution
运行包)。关于这件事有很多话要说。这里的“简单”解决方案包括旋转<代码>可信和跨数据库所有权链接,但这些都有潜在的安全隐患,应该加以审查。我试图遵循文章,但我得到“Msg 15199当前的安全上下文是不可恢复的”当以允许执行ssis包的“我的用户”身份执行时。。。