0

在 SQL 2008 R2 中创建 Service Broker 队列时,可以将 POISON_MESSAGE_HANDLING 状态指定为 ON 或 OFF。据我了解,如果它开启,则在消息连续回滚 5 次后,该消息将被视为有毒消息,并且队列将自动禁用。还引发了 BROKER_QUEUE_DISABLED 事件。

在 SQL 2005(和 2008 非 R2)中,您没有获得 POISON_MESSAGE_HANDLING 设置的选项。SQL 2005 的行为是否与 2008 R2 相同,此设置为 ON,或此设置为 OFF,或有什么不同?

4

1 回答 1

0

自 2005 年以来,Service Broker 开始处理有害消息,并且始终以相同的方式工作:连续 5 次回滚将禁用队列。最终添加了禁用它的选项,但是您必须考虑禁用有害消息处理是一个糟糕的主意:如果您真的遇到有害消息,系统将旋转令人恶心而没有进展。

于 2012-09-15T06:52:20.547 回答