1

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

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

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

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


抱歉,我没有分析器。我正在使用 sql express 2005。

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

<---仅适用于同一服务器上的实例。但是,一旦我添加带有端口号的目标服务器 IP(我在目标服务器上创建的端点),消息就会被发送到 void。他们永远不会到达另一台服务器。

ADDRESS = 'TCP://targetipadress:PORT'
4

2 回答 2

1

我想到了。您至少需要为本地和远程服务拥有 AUTHORIZATION DBO,确保端点中的所有加密,并且发送的消息已关闭/禁用,最后,没有主密钥。许多在线网站说,如果没有加密的主密钥,Broker 将无法工作,但在这种情况下似乎并非如此。

于 2011-04-25T19:25:09.063 回答
0

您不需要使用证书:

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

更多信息:链接

于 2011-04-22T00:39:32.073 回答