有关 Service Broker 错误消息的帮助

发布于 2024-08-28 07:08:13 字数 636 浏览 6 评论 0原文

每当我尝试在两个不同的 SQL Server 服务器之间发送 SQL Service Broker 消息时,我都会在 sys.transmission_queue 表中收到此错误。 (即数据库位于两台不同的物理机器上)

Dialog security is unavailable for this conversation because there is no security 
certificate bound to the database principal (Id: 5).  
Either create a certificate for the principal, or specify ENCRYPTION = OFF 
when beginning the conversation 

当此错误引用“数据库主体”时,它指的是什么呢? (“master”数据库?dbo 用户?)我使用了 CREATE CERTIFICATE 命令,备份了证书,并使用第一台服务器上的备份 .cer 文件在另一台服务器上创建了一个相同名称的证书,但我不断收到此消息信息。

任何帮助我指明正确方向的帮助将不胜感激。我一定错过了一些明显的东西。

仅供参考,在我的开发环境中,启动数据库和目标数据库都位于同一物理服务器和同一 SQL 实例上,并且一切正常。

I am getting this error in my sys.transmission_queue table whenever I attempt to send a SQL Service Broker message between two different SQL Server servers. (i.e. the databases are on two different physical machines)

Dialog security is unavailable for this conversation because there is no security 
certificate bound to the database principal (Id: 5).  
Either create a certificate for the principal, or specify ENCRYPTION = OFF 
when beginning the conversation 

When this error refers to "database principal" what is it referring to? (the "master" database? dbo user?) I've used the CREATE CERTIFICATE command, backed up the certificate and created a same named certificate on the other server with the backup .cer file from the first server, but I keep getting this message.

Any help would be appreciated in getting me pointed in the right direction. I must be missing something obvious.

FYI, in my development environment, both the initiating and target databases were on the same physical server, and same SQL instance, and everything was working fine.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

‖放下 2024-09-04 07:08:13

该错误涉及托管 Service Broker 服务的数据库中的用户(select name from sys.database_principals whereprincipal_id = 5)。

除了将证书导出到目标服务器之外,您还需要导入目标服务器的证书,将其与用户关联并创建远程服务绑定以告诉 Service Broker 哪个本地用户代表远程服务。以下 2 篇文章应该会对您有所帮助:Service Broker 对话安全性 和 < a href="http://blogs.msdn.com/sql_service_broker/archive/2008/08/26/securing-a-dialog-with-certificates.aspx" rel="nofollow noreferrer">使用证书保护对话。

The error refers to a user in the database hosting your Service Broker service (select name from sys.database_principals where principal_id = 5).

In addition to exporting a certificate to the target server, you also need to import target server's certificate, associate it with a user and create a remote service binding to tell Service Broker which local user represents the remote service. The following 2 articles should help you: Service Broker Dialog Security and Securing a dialog with certificates.

挽心 2024-09-04 07:08:13

In addition to what Pawel said, I'd also recommend to give the SSBDIAGNOSE tool a try. Use the CONFIGURATION option and it will tell you exactly what user needs certificates, in which database, as well as analyzing the endpoint connectivity, the routes and the permissions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文