我有一个服务代理,它调用存储过程sp_dequeue 队列 - > 激活 (STATUS = ON, MAX_QUEUE_READERS = 1, PROCEDURE_NAME = sp_dequeue, 执行为'用户名' ); 在我的sp_dequeue中,我将记录插入到链接服务器中... 因此,当我从magmnt工作室调用sp_dequeue时,它工作正常。但当它通过服务代理自动调用时,我得到这个错误信息: “拒绝访问远程服务器,因为当前的安全上下文不受信任。”。
在我的链接服务器属性中,我检查了“使用此安全约束”,并提供了oracle userid和pwd,我还将“Username”映射添加到oracle服务器。(oracle / SQL的用户名和密码都不同) 我用谷歌搜索这个错误尝试了大多数所有组合。 请帮助我解决这个问题。 使用Sql server 2005和oracle 10g
答案 0 :(得分:3)
Why does feature … not work under activation?给出了解释。一个解决方案就是像你一样启用TRUSTWORTHY。另一个是使用代码签名,请参阅Signing an activated procedure。代码签名部署起来比较复杂,但在非常严格的安全环境中是必需的,因为TRUSTWORTHY标志打开了从dbo
到sysadmin
的权限升级路径。