SQL Service Broker查看队列

时间:2010-06-01 11:07:13

标签: c# sql-server service-broker

我正在编写一个使用SSB队列与其他系统通信的C#应用​​程序。 当从SSB队列接收消息时,我并不总是确定我能够处理它。因此,我想查看队列(或者可能只是被告知有 消息,而不是它的内容),但同时使用SSB语法,包括WAITFOR。

这样做的原因是我希望100%确定没有消息会丢失,即使接收器遇到某种不可恢复的故障。另一种解决方案可能是将其包装在事务中,但这需要更多的代码更改而不仅仅是一个窥视调用。如果有人有任何替代解决方案,以确保没有数据丢失,我很满意。

1 个答案:

答案 0 :(得分:0)

您应首先收到该消息,然后决定是否可以处理该消息。如果你不能,“写一条日志消息并拯救” - 但提交接收交易。如果您回滚事务(或者只是按照您的意图查看队列),最终会出现无法在队列中处理的消息并且您无限期地偷看(或接收/回滚)它的情况。 / p>