Sql server ServiceBroker中的私钥问题

Sql server ServiceBroker中的私钥问题,sql-server,sql-server-2005,service-broker,Sql Server,Sql Server 2005,Service Broker,我们正试图通过ServiceBroker在一个SQL引擎中的两个SQL实例之间通过MSDN提供的教程进行对话。 为了简单起见,我们发送了Encryption=OFF的对话框,因此不需要处理主密钥、证书。。。它在本地工作站上工作 DECLARE @InitDlgHandle UNIQUEIDENTIFIER; 声明@RequestMsg NVARCHAR(100) 开始交易 开始对话@InitDlgHandle 来自服务[//InstDB/2InstSample/InitiatorService

我们正试图通过ServiceBroker在一个SQL引擎中的两个SQL实例之间通过MSDN提供的教程进行对话。 为了简单起见,我们发送了Encryption=OFF的对话框,因此不需要处理主密钥、证书。。。它在本地工作站上工作

DECLARE @InitDlgHandle UNIQUEIDENTIFIER;
声明@RequestMsg NVARCHAR(100)

开始交易

开始对话@InitDlgHandle 来自服务[//InstDB/2InstSample/InitiatorService] 到服务N'//TgtDB/2INSTAPLE/TargetService' 在合同上[//BothDB/2InstSample/SimpleContract] 具有 加密=关闭

选择@RequestMsg=N“目标服务的消息”

发送对话@InitDlgHandle 消息类型[//BothDB/2InstSample/RequestMessage] (@RequestMsg)

选择@RequestMsg作为SentRequestMsg

提交事务; 去

但是,在移动到服务器后,使用相同的脚本,目标数据库在initDB发出消息后,在SQL跟踪中继续显示“找不到私钥,消息无法传递”

我的问题是,既然我们设置了encryption=OFF,为什么目标数据库会显示缺少的证书

我们使用SQL2005SP2和Windows2003


感谢您的任何意见

谈论派对迟到……
我以前没看过这篇文章。我不知道是否仍然有任何关联,但以下是可能的原因:

存在将胜过加密=关闭。这是为了将开发人员职责与管理员职责分离。如果应用程序需要加密,则开发人员指定Encryption=ON,管理员必须提供远程服务绑定。如果应用程序不需要加密,则开发人员指定encryption=OFF,并且如果部署站点决定需要加密,即使应用程序不需要,管理员也可以提供远程服务绑定


A可以在我的网站上找到。

谈论派对迟到…
我以前没看过这篇文章。我不知道是否仍然有任何关联,但以下是可能的原因:

存在将胜过加密=关闭。这是为了将开发人员职责与管理员职责分离。如果应用程序需要加密,则开发人员指定Encryption=ON,管理员必须提供远程服务绑定。如果应用程序不需要加密,则开发人员指定encryption=OFF,并且如果部署站点决定需要加密,即使应用程序不需要,管理员也可以提供远程服务绑定


你可以在我的网站上找到一个答案。

如果你真的想知道“为什么?”,那么我很确定雷姆斯是地球上可能真正知道的6个人之一。希望他看到这个。。。仅供参考,ServiceBroker至少有十几个这些未记录(或非常模糊地记录)的秘密,并且不像SQLCLR等那样是一个广泛普及的功能,MS没有多少关于这些东西是如何或为什么产生的。就是这样。在两个不同的SQL实例上创建代理端点时,您是如何设置传输安全性的?Windows身份验证还是基于证书?如果可以,请提供一个脚本。如果你真的想知道“为什么?”,那么我很确定雷姆斯是地球上可能真正知道的6个人之一。希望他看到这个。。。仅供参考,ServiceBroker至少有十几个这些未记录(或非常模糊地记录)的秘密,并且不像SQLCLR等那样是一个广泛普及的功能,MS没有多少关于这些东西是如何或为什么产生的。就是这样。在两个不同的SQL实例上创建代理端点时,您是如何设置传输安全性的?Windows身份验证还是基于证书?如果可以,请提供脚本。