如何检查我的队列(Service Broker)是否启用?

时间:2014-09-10 22:23:23

标签: sql sql-server-2008 service-broker

很少,由于尚未确定的原因,我的队列被禁用,当发生这种情况时,我再次使用此查询启用:

  ALTER QUEUE [MyQueue] WITH STATUS = ON;

但是,我想知道何时禁用队列,例如事件(T-SQL),或者如果启用了队列,则检查每个“x”时间。

1 个答案:

答案 0 :(得分:13)

查看sys.service_queues

select is_receive_enabled
from sys.service_queues
where name = N'MyQueue';

您的队列被poison message handling mechanism禁用。发生这种情况时会触发一个事件,可以通过事件通知捕获,请参阅Service Broker Application Queue Disable Event