web-dev-qa-db-ja.com

キュー(サービスブローカー)が有効になっているかどうかを確認するにはどうすればよいですか?

まれに、まだ特定されていない理由でキューが無効になっています。これが発生した場合は、次のクエリで再度有効にします。

  ALTER QUEUE [MyQueue] WITH STATUS = ON;

ただし、イベント(T-SQL)など、キューが無効になっている時期を知りたい、またはキューが有効になっているかどうかを「x」回ごとに確認したい。

7
Makito

調べてください sys.service_queues

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

ポイズンメッセージ処理メカニズム によってキューが無効になります。これが発生すると、イベント通知を介してキャプチャできるイベントが発生します。 Service Broker Application Queue Disable Event を参照してください。

16
Remus Rusanu