拒绝访问远程服务器,因为当前的安全上下文不受信任

时间:2011-07-26 09:53:35

标签: sql-server-2005 linked-server service-broker

我有一个服务代理,它调用存储过程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

1 个答案:

答案 0 :(得分:3)

Why does feature … not work under activation?给出了解释。一个解决方案就是像你一样启用TRUSTWORTHY。另一个是使用代码签名,请参阅Signing an activated procedure。代码签名部署起来比较复杂,但在非常严格的安全环境中是必需的,因为TRUSTWORTHY标志打开了从dbosysadmin的权限升级路径。