【问题标题】:Force Service Broker queue into an error state强制 Service Broker 队列进入错误状态
【发布时间】:2016-09-07 11:14:31
【问题描述】:
在我的工作中,当 SQL 中的 Service Broker 队列在对话期间进入错误状态时触发了测试代码的请求。此时我们将其关闭并重新打开。
但是,我尝试将 sys.conversation_endpoints 的状态设置为“ER”(错误状态),但被拒绝了该功能。我的问题:您能否强制服务代理队列进入错误状态,如果可以,如何?
任何帮助或信息将不胜感激!
【问题讨论】:
标签:
sql-server
queue
service-broker
【解决方案1】:
看来您实际上是在谈论将 对话 移动到错误状态,而不是队列。要实现这一点,只需从目标端点end the conversation with error:
END CONVERSATION {target-endpoint-handle}
WITH ERROR = <my error code>
DESCRIPTION = '<my error description>';
这将结束对话并将错误消息排入您的服务。