Compartir a través de


sys.dm_exec_background_job_queue_stats (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Devuelve una fila que proporciona estadísticas acumuladas para cada trabajo del procesador de consultas enviado para ejecución asincrónica (en segundo plano).

Nota:

Para llamarlo desde Azure Synapse Analytics o Analytics Platform System (PDW), use el nombre sys.dm_pdw_nodes_exec_background_job_queue_stats. El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.

Nombre de la 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.
pdw_node_id int Se aplica a: Azure Synapse Analytics, Sistema de la plataforma de análisis (PDW)

Identificador del nodo en el que se encuentra esta distribución.

Comentarios

Esta vista devuelve información solo para los trabajos de estadísticas de actualización asincrónica. Para obtener más información sobre las estadísticas de actualización asincrónica, consulte Estadísticas.

Permisos

En SQL Server y SQL Managed Instance, requiere el permiso VIEW SERVER STATE.

En los objetivos de servicio Básico, S0 y S1 de SQL Database y para bases de datos en grupos elásticos, se requiere la cuenta de administrador del servidor, la cuenta de administrador Microsoft Entra o la pertenencia al ##MS_ServerStateReader## rol del servidor. En el resto de objetivos del servicio de SQL Database, se requiere el permiso VIEW DATABASE STATE en la base de datos o la pertenencia en el rol del servidor ##MS_ServerStateReader##.

Permisos para SQL Server 2022 y versiones posteriores

Requiere el permiso VER ESTADO DE RENDIMIENTO DEL SERVIDOR 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 + enqueue_failed_full_count + enqueue_failed_duplicate_count AS float) * 100 AS varchar(20))   
        END AS [Percent Enqueue Failed]  
FROM sys.dm_exec_background_job_queue_stats;  
GO  

Consulte también

Funciones y vistas de administración dinámica (Transact-SQL)
Funciones y vistas de administración dinámica relacionadas con ejecuciones (Transact-SQL)