我已经通过 SQL Server Service Broker 实现了一个消息传递系统。它工作得很好,唯一的异常(exception)是每隔一段时间(也许每台服务器每周一次)我的启动器服务就会消失得无影无踪。对应的队列还在,但是服务缺失了。
显然这会导致我的系统出现问题。手动重新创建服务是一件简单的事情,但我对可能导致这种行为的原因感到困惑。我知道自动有害消息处理会导致队列被禁用,但我没有看到任何表明服务可以自动禁用或删除的信息。
发生这种情况时,我通常会在多个应用程序队列中积压大量消息,但没有什么极端的情况。消息积压总量约为 200,000 条。
有人知道这里会发生什么吗?
最佳答案
您一定存在某种发出 DROP SERVICE 语句的错误。这是删除服务的唯一方法。
检查default trace ,DROP 语句会被跟踪并保存到其中,以便您可以追踪发出 DROP 的应用程序/用户/语句。检查sys.traces查找默认跟踪的位置,然后在 Profiler 中打开 .TRC 文件。
关于sql-server - SQL Server Service Broker 服务消失(自动删除)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2579323/