Service Broker,端点 - 我真的需要一个证书来在两台服务器之间发送消息吗?

时间:2011-04-21 23:43:39

标签: sql-server certificate service-broker endpoints

我真的需要创建一个证书来在sql server之间发送排队的消息吗? 我可以对两台服务器上的端点使用dbo身份验证吗?

create endpoint target
state = started
as TCP
(
LISTENER_PORT = 4022
)
FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE ????, ENCRYPTION = ENABLED);

IF 我必须使用证书,我可以使用用户数据库证书而不是主证书吗?我该怎么做呢?

我现在不关心安全问题。两台服务器都在一个封闭的局域网上,无法访问互联网。


抱歉。我没有探查器。我正在使用sql express 2005.

  CREATE ROUTE RoutetoTarget
    WITH
    BROKER_INSTANCE = 'xxxxxx-xxx-xx-x-x-x-x',
   SERVICE_NAME = 'LOCALReceivingService',

< --- 仅适用于同一服务器上的实例。但是,一旦我添加了具有端口号的目标服务器IP(我在目标服务器上创建的端点),消息就会被发送到虚拟机中。他们从未进入其他服务器。

ADDRESS = 'TCP://targetipadress:PORT'

2 个答案:

答案 0 :(得分:1)

我明白了。您需要为本地和远程服务至少拥有AUTHORIZATION DBO,确保端点中的所有加密,以及已发送的消息已关闭/禁用,最后,不要有主密钥。许多在线网站表示,如果没有加密的主密钥,Broker将无法运行,但在这种情况下似乎不是真的。

答案 1 :(得分:0)

您无需使用证书:

CREATE ENDPOINT ssb_target
STATE = STARTED
AS TCP 
(
    LISTENER_PORT = 4022
)
FOR SERVICE_BROKER
(
    AUTHENTICATION = WINDOWS,
    ENCRYPTION = DISABLED
)
GO

更多信息:link