激活脚本挂起,无法关闭

时间:2015-07-10 17:56:15

标签: sql-server service-broker

根据Remus Resanu的this文章,我已经实现了SQL Server Service Broker的错误处理。

当我运行该过程并激活脚本开始但从未停止处理时。根据SQL Server日志文件,我的错误处理看起来有一个拼写错误,它现在陷入无限循环。

我尝试使用kill <pid>终止该过程,但收到消息Only user processes can be killed。我也试过重启服务器,但激活脚本会重新开始。

如何杀死失控的激活过程?

2 个答案:

答案 0 :(得分:3)

我无法通过google / bing搜索找到解决方案。我最终记得我们通过SQL命令启用了服务代理,因此我尝试禁用它,这似乎有效:

ALTER DATABASE dbname SET DISABLE_BROKER;

答案 1 :(得分:1)

它看起来像无证件。如果激活的过程不发出END CONVERSATION,它将继续在无限循环中重新启动。因此,要停止它,您需要使其成功运行任何对话框的END CONVERSATION。如果队列因检测到病毒邮件而被禁用,则需要将其删除以停止激活过程 - 无需重置代理。我没有找到解决这个问题的方法,所以我玩了一下,希望这会给你一个提示。