Compartir a través de


sys.dm_exec_background_job_queue_stats

Actualizado: 12 de diciembre de 2006

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.

Notas

En SQL Server 2005, esta vista devuelve información sólo 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 de índice.

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
Funciones y vistas de administración dinámica relacionadas con ejecuciones
ALTER DATABASE (Transact-SQL)
sys.dm_exec_background_job_queue

Otros recursos

Estadísticas de índice

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

12 de diciembre de 2006

Contenido nuevo:
  • Se han agregado las secciones Notas y Ejemplos.