开发者

Service Broker, endpoint - do i really need a certificate to send message between two servers?

Do I really need to create a certificate to send a queued message between sql servers? Can I use dbo authentication for the endpoint on both servers?

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

IF I have to use a certificate, can I use a User database certificate 开发者_Go百科instead of one on master? How would I go about doing this?

I am not concerned with security at the moment. Both servers are on a closed lan, with no internet access.


Sorry.I do not have profiler. I am using sql express 2005.

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

<---that works only in instances on same server. However once I add the target server IP with port number (the endpoint I created on target server) messages get sent into the void. They never make it to the other server.

ADDRESS = 'TCP://targetipadress:PORT'


I figured it out. You need to at least have AUTHORIZATION DBO for both local and remote service, make sure all encryption in endpoint, and sent message is off/disabled, and lastly, DO NOT have a master key. Many online sites say Broker will not work without an encrypted master key, but doesn't seem to be true in this case.


You are not required to use a certificate:

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

More info: link

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜