Aracılığıyla paylaş


sys.dm_broker_queue_monitors (Transact-SQL)

Bir satırın her sıra monitör için örnekverir.Sıra monitör etkinleştirme sıra için yönetir.

Sütun adı

Veri türü

Açıklama

database_id

int

Monitör izler sıra içeren veritabanı nesne tanımlayıcısı.NULL OLABİLECEK.

queue_id

int

Monitör izler sıra nesne tanımlayıcısı.NULL OLABİLECEK.

durumu

nvarchar(32)

Durum Monitörü.NULL OLABİLECEK.Bu, aşağıdakilerden biridir:

  • ETKİN OLMAYAN

  • BİLDİRİMDE

  • RECEIVES_OCCURRING

last_empty_rowset_time

datetime

Son saat sıradan bir alma boş bir sonuç döndürdü.NULL OLABİLECEK.

last_activated_time

datetime

Son saat bu sıra monitör saklı yordametkinleştirildi.NULL OLABİLECEK.

tasks_waiting

int

Şu anda bu sıraya al deyim içinde bekleyen oturumları sayısı.NULL OLABİLECEK.

NotNot
Bu sıra monitör oturumbaşlatılıp bakılmaksızın bir Al deyimyürütme tüm oturum içerir.WAITFOR alma ile birlikte kullanıyorsanız budur.Temelde, bu görevleri kuyruğuna gelen iletileri bekliyorsunuz.

İzinler

Sunucu üzerindeki görünüm server state izni gerektirir.

Örnekler

A.Geçerli durum sıra monitör

Bu senaryo tüm ileti sıralarında geçerli durumunu sağlar.

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() )