我在服务代理中的消息保留在 sys.transmission_queue
my Messages in service broker remain in sys.transmission_queue
我在两个物理服务器的两个实例中使用 Service broker。使用此工具:
http://www.sqlservercentral.com/articles/Service+Broker/2797/
我为两台服务器设置了所有证书和所有其他选项。我正在使用此代码向目标机器发送消息:
Declare @ConversationHandle uniqueidentifier
Begin Transaction
Begin Dialog @ConversationHandle
From Service SenderService
To Service 'ReceiverService'
On Contract SampleContract
WITH Encryption=off;
SEND
ON CONVERSATION @ConversationHandle
Message Type SenderMessageType
('<test>test</test>')
Commit
但是当我检查目标队列时没有消息 exist.So 我检查发件人机器中的 sys.transmission_queue 我发现了这个 :
所有消息都在这里。为什么?我怎样才能找到问题?
我检查了 sys.conversation_endpoints
6720A2A2-C8F6-E811-80E3-40A8F038BB1F 802A7832-100B-4093-BEF3-B91ACB98EA13 1 65536 6820A2A2-C8F6-E811-80E3-40A8F038BB1F 65536 2086-12-21 10:11:09.720 CO CONVERSING ReceiverService NULL 1 7 A3DAEFBC-2ADA-4C46-8F44-3FC9882BADD1 00000000-0000-0000-0000-000000000000 1900-01-01 00:00:00.000 1900-01-01 00:00:00.000 1 0x02388E050000 -1 0 0 0 -1 0 0 0 5
最后我用这个 (enter link description here)post 找到了问题所在。
问题是两台机器的时间不同。
我在两个物理服务器的两个实例中使用 Service broker。使用此工具:
http://www.sqlservercentral.com/articles/Service+Broker/2797/
我为两台服务器设置了所有证书和所有其他选项。我正在使用此代码向目标机器发送消息:
Declare @ConversationHandle uniqueidentifier
Begin Transaction
Begin Dialog @ConversationHandle
From Service SenderService
To Service 'ReceiverService'
On Contract SampleContract
WITH Encryption=off;
SEND
ON CONVERSATION @ConversationHandle
Message Type SenderMessageType
('<test>test</test>')
Commit
但是当我检查目标队列时没有消息 exist.So 我检查发件人机器中的 sys.transmission_queue 我发现了这个 :
所有消息都在这里。为什么?我怎样才能找到问题?
我检查了 sys.conversation_endpoints
6720A2A2-C8F6-E811-80E3-40A8F038BB1F 802A7832-100B-4093-BEF3-B91ACB98EA13 1 65536 6820A2A2-C8F6-E811-80E3-40A8F038BB1F 65536 2086-12-21 10:11:09.720 CO CONVERSING ReceiverService NULL 1 7 A3DAEFBC-2ADA-4C46-8F44-3FC9882BADD1 00000000-0000-0000-0000-000000000000 1900-01-01 00:00:00.000 1900-01-01 00:00:00.000 1 0x02388E050000 -1 0 0 0 -1 0 0 0 5
最后我用这个 (enter link description here)post 找到了问题所在。 问题是两台机器的时间不同。