sys.dm_exec_background_job_queue_stats (Transact-SQL)
Gibt eine Zeile zurück, die Gesamtstatistiken zu jedem Abfrageprozessorauftrag bereitstellt, der für die asynchrone Ausführung (im Hintergrund) übermittelt wird.
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
queue_max_len |
int |
Maximale Länge der Warteschlange. |
enqueued_count |
int |
Anzahl der erfolgreich an die Warteschlange gesendeten Anforderungen. |
started_count |
int |
Anzahl der Anforderungen, mit deren Ausführung begonnen wurde. |
ended_count |
int |
Anzahl der Anforderungen, die entweder mit Erfolg oder Fehler abgeschlossen wurden. |
failed_lock_count |
int |
Anzahl der Anforderungen, die aufgrund von Sperrkonflikten oder Deadlocks Fehler erzeugt haben. |
failed_other_count |
int |
Anzahl der Anforderungen, die aus anderen Gründen Fehler erzeugt haben. |
failed_giveup_count |
int |
Anzahl der Anforderungen, die Fehler erzeugt haben, da das Wiederholungslimit erreicht wurde. |
enqueue_failed_full_count |
int |
Anzahl der gescheiterten Versuche zum Einreihen in eine Warteschlange, da die Warteschlange voll ist. |
enqueue_failed_duplicate_count |
int |
Anzahl der doppelten Versuche zum Einreihen in eine Warteschlange. |
elapsed_avg_ms |
int |
Durchschnittliche Dauer von Anforderungen in Millisekunden. |
elapsed_max_ms |
int |
Dauer der längsten Anforderung in Millisekunden. |
Hinweise
Diese Sicht gibt nur Informationen für Aufträge zur asynchronen Aktualisierung von Statistiken zurück. Weitere Informationen zur asynchronen Aktualisierung von Statistiken finden Sie unter Verwenden von Statistiken zum Verbessern der Abfrageleistung.
Berechtigungen
Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.
Beispiele
A. Ermitteln des Prozentsatzes fehlgeschlagener Hintergrundaufträge
Im folgenden Beispiel wird der Prozentsatz der fehlgeschlagenen Hintergrundaufträge für alle ausgeführten Abfragen zurückgegeben.
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. Ermitteln des Prozentsatzes fehlgeschlagener Versuche zum Einreihen in eine Warteschlange
Im folgenden Beispiel wird der Prozentsatz der fehlgeschlagenen Versuche zum Einreihen in eine Warteschlange für alle ausgeführten Abfragen zurückgegeben.
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