sys.dm_exec_background_job_queue_stats (Transact-SQL)
Restituisce una riga in cui sono visualizzate le statistiche di aggregazione per ogni processo di Query Processor sottomesso per l'esecuzione asincrona (in background).
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
queue_max_len |
int |
Lunghezza massima della coda. |
enqueued_count |
int |
Numero di richieste inviate correttamente alla coda. |
started_count |
int |
Numero di richieste di cui è stata avviata l'esecuzione. |
ended_count |
int |
Numero di richieste elaborate con esito positivo o con esito negativo. |
failed_lock_count |
int |
Numero di richieste non riuscite a causa di una contesta di blocchi o a causa di deadlock. |
failed_other_count |
int |
Numero di richieste non riuscite a causa di altri motivi. |
failed_giveup_count |
int |
Numero di richieste non riuscite perché è stato raggiunto il limite di tentativi. |
enqueue_failed_full_count |
int |
Numero di tentativi di accodamento non riusciti a causa della coda piena. |
enqueue_failed_duplicate_count |
int |
Numero di tentativi di accodamento duplicati. |
elapsed_avg_ms |
int |
Tempo medio trascorso della richiesta in millisecondi. |
elapsed_max_ms |
int |
Tempo trascorso della richiesta più lunga in millisecondi. |
Osservazioni
In questa vista vengono restituite solo le informazioni relative ai processi asincroni di aggiornamento delle statistiche. Per ulteriori informazioni sugli aggiornamenti asincroni delle statistiche, vedere Utilizzo di statistiche per migliorare le prestazioni di esecuzione delle query.
Autorizzazioni
È richiesta l'autorizzazione VIEW SERVER STATE nel server.
Esempi
A. Individuazione della percentuale di processi in background non riusciti
Nell'esempio seguente viene restituita la percentuale di processi in background non riusciti per tutte le query eseguite.
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. Individuazione della percentuale di tentativi di accodamento non riusciti
Nell'esempio seguente viene restituita la percentuale di tentativi di accodamento non riusciti per tutte le query eseguite.
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