sql-server - 我在服务代理中的消息保留在 sys.transmission_queue
问题描述
我在两个物理服务器的两个实例中使用服务代理。使用此工具:
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
但是当我检查目标队列时没有消息存在。所以我检查了发件人机器中的 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
解决方案
最后我用这个(在此处输入链接描述)帖子来查找问题。问题是两台机器之间的时间不同。
推荐阅读
- python - python追加到嵌套列表,索引超出范围
- flutter - 在 Flutter 中集成 Stripe 支付
- javascript - 等待变量改变
- python-3.x - 高级搜索 API,使用 retweets_of 和 from 函数
- javascript - jsPDF 生成一个带有拉伸元素的 pdf
- visual-studio - 如何修复 CS0234 - 缺少装配参考
- amp-html - 是否可以选择使用 AMP 从电子邮件中上传照片/视频?
- jolt - 比较和组合相同数组的对象
- r - R数据框插入基于其他数据框的值
- excel - Excel VBA Range 'Delete' 方法随机失败