sys.dm_exec_background_job_queue_stats (Transact-SQL)
Devuelve una fila que proporciona estadísticas acumuladas para cada trabajo del procesador de consultas enviado para ejecución asincrónica (en segundo plano).
Nombre de columna |
Tipo de datos |
Descripción |
---|---|---|
queue_max_len |
int |
Longitud máxima de la cola. |
enqueued_count |
int |
Número de solicitudes registradas correctamente en la cola. |
started_count |
int |
Número de solicitudes que han iniciado la ejecución. |
ended_count |
int |
Número de solicitudes a las que se ha dado servicio como correctas o erróneas. |
failed_lock_count |
int |
Número de solicitudes que han generado errores a causa de contención de bloqueos o interbloqueos. |
failed_other_count |
int |
Número de solicitudes que han generado errores a causa de otras razones. |
failed_giveup_count |
int |
Número de solicitudes que han generado errores porque se ha alcanzado el límite de reintentos. |
enqueue_failed_full_count |
int |
Número de intentos de poner en cola erróneos porque la cola está llena. |
enqueue_failed_duplicate_count |
int |
Número de intentos de poner en cola duplicados. |
elapsed_avg_ms |
int |
Tiempo promedio transcurrido por solicitud en milisegundos. |
elapsed_max_ms |
int |
Tiempo transcurrido de la solicitud más grande en milisegundos. |
Comentarios
Esta vista devuelve información solo para los trabajos de estadísticas de actualización asincrónica. Para obtener más información acerca de las estadísticas de actualización asincrónica, vea Estadísticas.
Permisos
Requiere el permiso VIEW SERVER STATE en el servidor.
Ejemplos
A.Determinar el porcentaje de trabajos en segundo plano que no han podido completarse
En el ejemplo siguiente se devuelve el porcentaje de trabajos en segundo plano que no han podido completarse para todas las consultas ejecutadas.
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.Determinar el porcentaje de intentos de poner en cola que no han tenido éxito
En el ejemplo siguiente se devuelve el porcentaje de intentos de poner en cola que no han tenido éxito para todas las consultas ejecutadas.
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
Vea también
Referencia
Funciones y vistas de administración dinámica (Transact-SQL)
Funciones y vistas de administración dinámica relacionadas con ejecuciones (Transact-SQL)