Udostępnij przez


sys.dm_exec_background_job_queue_stats (Transact-SQL)

Zwraca wartość wiersza, który zapewnia statystykę agregacja dla każdego zadanie procesora kwerendy przesłane do wykonywania asynchronicznych (tła).

Nazwa kolumna

Typ danych

Description

queue_max_len

int

Maksymalna długość kolejki.

enqueued_count

int

Liczba żądań pomyślnie zaksięgowane do kolejki.

started_count

int

Liczba żądań, który uruchomił wykonywanie.

ended_count

int

Liczba żądań obsłużonych na powodzenie lub niepowodzenie.

failed_lock_count

int

Liczba żądań, które się nie powiodły z powodu konfliktu blokada lub zakleszczenie.

failed_other_count

int

Liczba żądań, które nie powiodły się z innych przyczyn.

failed_giveup_count

int

Liczba żądań, które nie powiodło się, ponieważ został osiągnięty limit ponownych prób.

enqueue_failed_full_count

int

Liczba enqueue nieudanych prób, ponieważ kolejka jest pełna.

enqueue_failed_duplicate_count

int

Liczba prób enqueue duplikatów.

elapsed_avg_ms

int

Średni czas żądania (w milisekundach).

elapsed_max_ms

int

Czas upływający najdłuższego żądania (w milisekundach).

Remarks

W tym widoku zwraca informacje tylko w przypadku asynchronicznych aktualizacja statystyki zadania.Aby uzyskać więcej informacji o asynchronicznych aktualizacja statystyki Zobacz Using Statistics to Improve Query Performance.

Uprawnienia

Wymaga uprawnienia VIEW SERVER STATE na serwerze.

Przykłady

A.Określanie wartości procentowej zadania w tle nie powiodło się

W poniższym przykładzie zwraca wartość procentu pracy tła nie powiodło się dla wszystkich kwerend wykonanych.

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.Określanie wartości procentowej enqueue nieudanych prób

W poniższym przykładzie zwraca procent enqueue nieudanych prób dla wszystkich kwerend wykonanych.

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