sys.dm_broker_queue_monitors
Actualizado: 14 de abril de 2006
Devuelve una fila por cada monitor de cola en la instancia. Un monitor de cola administra la activación de una cola.
Nombre de columna
Tipo de datos
Descripción
database_id
int
Identificador del objeto de la base de datos que contiene la cola que supervisa el monitor. Acepta valores NULL.
queue_id
int
Identificador del objeto de la cola que supervisa el monitor. Acepta valores NULL.
state
nvarchar(32)
Estado del monitor. Acepta valores NULL. Es uno de los siguientes:
- INACTIVE
- NOTIFIED
- RECEIVES_OCCURRING
last_empty_rowset_time
datetime
Última vez que una instrucción RECEIVE de la cola devolvió un resultado vacío. Acepta valores NULL.
last_activated_time
datetime
Última vez que este monitor de cola activó un procedimiento almacenado. Acepta valores NULL.
tasks_waiting
int
Número de sesiones que esperan actualmente en una instrucción RECEIVE de esta cola. Acepta valores NULL.
Nota:
Este número incluye las sesiones que ejecutan una instrucción RECEIVE, independientemente de si el monitor de cola ha iniciado la sesión. Es así si usa WAITFOR junto con RECEIVE. Básicamente, estas tareas esperan que lleguen mensajes a la cola.
Permisos
Requiere el permiso VIEW SERVER STATE en el servidor.
Ejemplos
A. Estado actual del monitor de cola
Este escenario proporciona el estado actual de todas las colas de mensajes.
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() )
Vea también
Referencia
Funciones y vistas de administración dinámica
Vistas de administración dinámica relacionadas con Service Broker
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
14 de abril de 2006 |
|