在我的工作中,有人要求测试在SQL中的Service Broker队列在对话期间进入错误状态时触发的代码。我们关闭它并重新打开它。
但是,我尝试将sys.conversation_endpoints的状态设置为“ER”(错误状态),并且我拒绝该功能。我的问题:您是否可以强制服务代理队列进入错误状态,如果是,如何?
非常感谢任何帮助或信息!
答案 0 :(得分:2)
您似乎在谈论将会话移动到错误状态,而不是队列。要实现此目的,只需从目标端点end the conversation with error:
END CONVERSATION {target-endpoint-handle}
WITH ERROR = <my error code>
DESCRIPTION = '<my error description>';
这将结束对话并将错误消息排入您的服务。