Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Returnerar en rad för varje kömonitor i instansen. En köövervakare hanterar aktivering för en kö.
| Kolumnnamn | Datatyp | Nullbar | Description |
|---|---|---|---|
database_id |
int | Yes | Objektidentifierare för databasen som innehåller kön som monitorn följer. |
queue_id |
int | Yes | Objektidentifierare för kön som monitorn följer. |
state |
nvarchar(32) | Yes | Monitorns tillstånd. Detta värde är ett av följande alternativ:INACTIVENOTIFIEDRECEIVES_OCCURRING |
last_empty_rowset_time |
datetime | Yes | Senast gav en RECEIVE från kön ett tomt resultat. |
last_activated_time |
datetime | Yes | Senast aktiverade denna kömonitor en lagrad procedur. |
tasks_waiting |
int | Yes | Antal sessioner som för närvarande väntar inom en RECEIVE sats för denna kö.Not: Detta värde inkluderar alla sessioner som utför ett mottagarkommando, oavsett om köövervakaren startade sessionen eller inte. Det är för när du använder WAITFOR tillsammans med RECEIVE. Med andra ord är dessa uppgifter att vänta på att meddelanden ska komma in i kön. |
Permissions
SQL Server 2019 (15.x) och tidigare versioner kräver VIEW SERVER STATE behörighet på servern.
SQL Server 2022 (16.x) och senare versioner kräver VIEW SERVER PERFORMANCE STATE behörighet på servern.
Examples
A. Aktuell statusköövervakare
Detta scenario ger aktuell status för alla meddelandeköer.
SELECT DB_NAME() AS [Database_Name],
s.[name] AS [Service_Name],
sch.[name] AS [Schema_Name],
q.[name] AS [Queue_Name],
ISNULL(m.[state], N'Not available') AS [Queue_State],
m.tasks_waiting,
m.last_activated_time,
m.last_empty_rowset_time,
(SELECT COUNT(1)
FROM sys.transmission_queue AS t6
WHERE t6.from_service_name = s.[name]) AS Tran_Message_Count
FROM sys.services AS s
INNER JOIN sys.databases AS d
ON d.database_id = DB_ID()
INNER JOIN sys.service_queues AS q
ON s.service_queue_id = q.[object_id]
INNER JOIN sys.schemas AS sch
ON q.[schema_id] = sch.[schema_id]
LEFT OUTER JOIN sys.dm_broker_queue_monitors AS m
ON q.[object_id] = m.queue_id
AND m.database_id = d.database_id;