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