sys.dm_broker_queue_monitors
업데이트: 2006년 4월 14일
인스턴스의 큐 모니터에 대한 행을 반환합니다. 한 큐 모니터에 대해 한 행을 반환합니다 큐 모니터는 큐 활성화를 관리합니다.
열 이름
데이터 형식
설명
database_id
int
모니터에서 감시하는 큐를 포함하는 데이터베이스의 개체 식별자입니다. NULL을 허용합니다.
queue_id
int
모니터에서 감시하는 큐의 개체 식별자입니다. NULL을 허용합니다.
state
nvarchar(32)
모니터 상태입니다. NULL을 허용합니다. 다음 중 하나일 수 있습니다.
- INACTIVE
- NOTIFIED
- RECEIVES_OCCURRING
last_empty_rowset_time
datetime
큐에서 RECEIVE가 마지막으로 빈 결과를 반환한 시간입니다. NULL을 허용합니다.
last_activated_time
datetime
이 큐 모니터에서 마지막으로 저장 프로시저를 활성화한 시간입니다. NULL을 허용합니다.
tasks_waiting
int
이 큐에 대해 RECEIVE 문 내에서 현재 대기하고 있는 세션 수입니다. NULL을 허용합니다.
참고:
이 값에는 큐 모니터에서 해당 세션을 시작했는지와 관계없이 RECEIVE 문을 실행하는 세션이 모두 포함됩니다. RECEIVE와 함께 WAITFOR를 사용하는 경우 해당됩니다. 기본적으로 이러한 작업은 메시지가 큐에 도착할 때까지 대기하고 있습니다.
사용 권한
서버에 대한 VIEW SERVER STATE 권한이 필요합니다.
예
1. 현재 상태 큐 모니터
이 시나리오에서는 모든 메시지 큐의 현재 상태를 제공합니다.
SELECT t1.name AS [Service_Name], t3.name AS [Schema_Name], t2.name AS [Queue_Name],
CASE WHEN t4.state IS NULL THEN 'Not available'
ELSE t4.state
END AS [Queue_State],
CASE WHEN t4.tasks_waiting IS NULL THEN '--'
ELSE CONVERT(VARCHAR, t4.tasks_waiting)
END AS tasks_waiting,
CASE WHEN t4.last_activated_time IS NULL THEN '--'
ELSE CONVERT(varchar, t4.last_activated_time)
END AS last_activated_time ,
CASE WHEN t4.last_empty_rowset_time IS NULL THEN '--'
ELSE CONVERT(varchar,t4.last_empty_rowset_time)
END AS last_empty_rowset_time,
(
SELECT COUNT(*)
FROM sys.transmission_queue t6
WHERE (t6.from_service_name = t1.name) ) AS [Tran_Message_Count]
FROM sys.services t1 INNER JOIN sys.service_queues t2
ON ( t1.service_queue_id = t2.object_id )
INNER JOIN sys.schemas t3 ON ( t2.schema_id = t3.schema_id )
LEFT OUTER JOIN sys.dm_broker_queue_monitors t4
ON ( t2.object_id = t4.queue_id AND t4.database_id = DB_ID() )
INNER JOIN sys.databases t5 ON ( t5.database_id = DB_ID() )
참고 항목
참조
동적 관리 뷰 및 함수
Service Broker 관련 동적 관리 뷰
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2006년 4월 14일 |
|