Service Broker重复读取/接收

时间:2012-07-26 11:03:25

标签: sql-server sql-server-2008 service-broker

是否有任何示例脚本可以生成一个方案,从而从服务代理队列中接收消息但不从中删除消息。我们认为我们不时会在制作中遇到这种情况,但根本无法在本地复制它。

1 个答案:

答案 0 :(得分:1)

如果您在事务中接收消息然后提交事务,则会从队列中删除消息(除非retain = on,但保留消息会更改其状态)。

但是如果你在事务中收到消息,用它做一些事情并回滚事务,那么消息就会留在队列中。

在您的情况下,可能存在一些未处理的异常导致此行为(并且代码中的所有事件都不在接收消息的同一事务中)。