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