【问题标题】:Access to the remote server is denied because the current security context is not trusted对远程服务器的访问被拒绝,因为当前的安全上下文不受信任
【发布时间】:2011-07-26 09:53:34
【问题描述】:

我有一个调用存储过程 sp_dequeue 的服务代理 队列 --> 激活 (状态=开, MAX_QUEUE_READERS = 1, PROCEDURE_NAME = sp_dequeue, 执行为“用户名” ); 在我的 sp_dequeue 中,我将记录插入到链接服务器... 因此,当我从 magmnt 工作室调用 sp_dequeue 时,它​​工作正常。但是当它通过服务代理自动调用时,我得到这个错误消息: “访问远程服务器被拒绝,因为当前的安全上下文不受信任。”。

在我的链接服务器属性中,我检查了“使用此安全约束进行制作”并提供了 oracle 用户 ID 和密码,我还添加了“用户名”映射到 oracle 服务器。(oracle/SQL 的用户名和密码都不同) 我用谷歌搜索了这个错误,主要尝试了所有组合。 请帮助我解决这个问题。 使用 Sql server 2005 和 oracle 10g

【问题讨论】:

  • 你能分享你的答案吗?其他人可能会觉得它很有启发性......
  • 因为我使用 Sql 2005 忘记启用 TRUSTWORTHY bit ALTER DATABASE [DB_NAME] SET TRUSTWORTHY ON;

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


【解决方案1】:

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

【讨论】:

  • 谢谢 Remus Rusanu 我会在维护期间查看它
猜你喜欢
  • 2014-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-06
  • 2022-01-20
  • 1970-01-01
  • 2011-05-21
相关资源
最近更新 更多