Share via


sys.dm_exec_background_job_queue_stats (Transact-SQL)

Döndürür, her sorgu işlemcisi işe yönelik toplu istatistikler sağlayan bir satır için zaman uyumsuz (arka plan) yürütme göndermiş.

Sütun adı

Veri türü

Açıklama

queue_max_len

int

Sıranın en fazla uzunluğu.

enqueued_count

int

Başarıyla sıraya deftere isteklerin sayısıdır.

started_count

int

Yürütme başladı isteklerin sayısıdır.

ended_count

int

Başarı veya başarısızlık hizmet verilen isteklerin sayısıdır.

failed_lock_count

int

Kilit çakışması veya çıkmaz nedeniyle başarısız olan isteklerin sayısı.

failed_other_count

int

Diğer nedenler yüzünden başarısız olan isteklerin sayısı.

failed_giveup_count

int

Yeniden deneme sınırına ulaşıldığından başarısız olan isteklerin sayısı.

enqueue_failed_full_count

int

Sıra dolu olduğundan girişimi başarısız enqueue sayısıdır.

enqueue_failed_duplicate_count

int

Yinelenen enqueue denemelerinin sayısı.

elapsed_avg_ms

int

Isteğin milisaniye olarak geçen ortalama geçen saat.

elapsed_max_ms

int

En uzun isteğin milisaniye olarak geçen saat.

Remarks

Bu görünüm yalnızca bilgi döndüren zaman uyumsuz güncelleştirme istatistikleri işler.Zaman uyumsuz hakkında daha fazla bilgi için güncelleştirme istatistikleri, bkz: Sorgu performans geliştirme için istatistikleri'ni kullanma.

İzinler

Sunucudaki SUNUCU DURUM VIEW iznine gerek duyar.

Örnekler

C.Başarısız bir arka plan işlerinin yüzdesini belirleme

Aşağıdaki örnek, tüm çalıştırılan sorgularda başarısız arka plan iş yüzdesini verir.

SELECT 
        CASE ended_count WHEN 0 
                THEN 'No jobs ended' 
                ELSE CAST((failed_lock_count + failed_giveup_count + failed_other_count) / CAST(ended_count AS float) * 100 AS varchar(20)) 
        END AS [Percent Failed]
FROM sys.dm_exec_background_job_queue_stats;
GO

b.Başarısız enqueue girişimleri yüzdesini belirleme

Aşağıdaki örnek, tüm çalıştırılan sorgulara girişimlerinde başarısız enqueue yüzdesini verir.

SELECT 
        CASE enqueued_count WHEN 0 
                THEN 'No jobs posted' 
                ELSE CAST((enqueue_failed_full_count + enqueue_failed_duplicate_count) / CAST(enqueued_count AS float) * 100 AS varchar(20)) 
        END AS [Percent Enqueue Failed]
FROM sys.dm_exec_background_job_queue_stats;
GO