2

我已经通过 SQL Server Service Broker 实现了一个消息传递系统。它工作得很好,唯一的例外是每隔一段时间(可能每台服务器每周一次)我的启动器服务就会消失得无影无踪。对应的队列还在,但是服务不见了。

显然,这会导致我的系统出现问题。手动重新创建服务是一件简单的事情,但我对可能导致这种行为的原因感到困惑。我了解自动中毒消息处理会导致队列被禁用,但我没有看到任何表明可以自动禁用或删除服务的内容。

发生这种情况时,我通常会在多个应用程序队列中积压大量消息,但没有什么特别的。总消息积压约为 200,000 条。

有谁知道这里可能会发生什么?

4

1 回答 1

3

您必须有某种发出 DROP SERVICE 语句的错误。这是服务被删除的唯一方法。

检查默认跟踪,跟踪 DROP 语句并将其保存到其中,以便您可以跟踪发出 DROP 的应用程序/用户/语句。检查sys.traces以找到默认跟踪的位置,然后在 Profiler 中打开 .TRC 文件。

于 2010-04-05T18:06:14.247 回答