Пользовательские отчеты очереди компонента Service Broker - PullRequest
0 голосов
/ 21 марта 2012

мы начали исследование Service Broker и планируем внедрить его в приложение. Но мы не понимаем, как отображать статистические отчеты (в пользовательском интерфейсе), содержащие: 1. Нет сообщений в очереди. 2. Нет сообщений, поэтому для Выполнено / Завершено. 3. Нет сообщений в процессе, ожидании, сбое и т. Д. 4. Нет разговоров в определенный период времени и т. Д. и т. д. ....

Есть ли какой-нибудь возможный способ получить эту информацию полностью / частично

Любая помощь по этому вопросу высоко ценится.

Заранее спасибо.

1 Ответ

1 голос
/ 21 марта 2012

Использовать представления каталога ( msdn ). Например:

Select * From sys.service_queues
Select * From sys.transmission_queue
Select * From sys.conversation_groups
Select * From sys.conversation_endpoints

Использовать DMV ( msdn ). Например:

SELECT spid, DB_NAME(database_id) database_name, OBJECT_NAME(queue_id) queue_name,
    procedure_name, execute_as
FROM sys.dm_broker_activated_tasks
WHERE database_id = DB_ID();

SELECT DB_NAME(database_id) database_name, OBJECT_NAME(queue_id) queue_name,
    state, last_empty_rowset_time, last_activated_time, tasks_waiting
FROM sys.dm_broker_queue_monitors
WHERE database_id = DB_ID();

Использовать журнал SQL Server. Можно сделать также так:

EXEC sys.xp_readerrorlog 0, 1

Использование отчетов в Management Studio. Перейдите на узел «Service Broker», щелкните правой кнопкой мыши, а затем «Отчеты-> Стандартные отчеты-> Статистика компонента Service Broker»

...