sys.dm_exec_background_job_queue_stats (Transact-SQL)

 

**CETTE RUBRIQUE S’APPLIQUE À :** ![](../Image/Applies%20to/yes.png)SQL Server \(à partir de la version 2008\) ![](../Image/Applies%20to/yes.png)Azure SQL Database ![](../Image/Applies%20to/yes.png)Azure SQL Data Warehouse ![](../Image/Applies%20to/yes.png)Parallel Data Warehouse

Retourne une ligne qui fournit des statistiques agrégées pour chaque travail du processeur de requêtes soumis pour une exécution asynchrone (en arrière-plan).

S'applique à : SQL Server (SQL Server 2008 via la version actuelle).
Nom de la colonneType de donnéesDescription
queue_max_lenintLongueur maximale de la file d'attente.
enqueued_countintNombre de demandes placées dans la file d'attente.
started_countintNombre de demandes dont l'exécution a commencé.
ended_countintNombre de demandes dont l'exécution s'est terminée sur un succès ou un échec.
failed_lock_countintNombre de demandes ayant échoué à cause d'un problème de contention de verrouillage ou de blocage.
failed_other_countintNombre de demandes ayant échoué pour d'autres raisons.
failed_giveup_countintNombre de demandes ayant échoué parce que le nombre limite de tentatives était atteint.
enqueue_failed_full_countintNombre de tentatives d'empilement ayant échoué parce que la file d'attente était saturée.
enqueue_failed_duplicate_countintNombre de tentatives d'empilement en double.
elapsed_avg_msintTemps moyen écoulé par demande en millisecondes.
elapsed_max_msintTemps écoulé pour la demande la plus longue, en millisecondes.

Seules les informations pour les travaux de mise à jour des statistiques asynchrone apparaissent dans cette vue. Pour plus d'informations sur des statistiques de mise à jour asynchrone, consultez Statistiques.

L'autorisation VIEW SERVER STATE est nécessaire sur le serveur.

A.Détermination du pourcentage des travaux d'arrière-plan ayant échoué

L'exemple suivant retourne le pourcentage de travaux d'arrière-plan ayant échoué pour toutes les requêtes exécutées.

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.Détermination du pourcentage des tentatives d'empilement ayant échoué

L'exemple suivant retourne le pourcentage des tentatives d'empilement ayant échoué pour toutes les requêtes exécutées.

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  

Fonctions et vues de gestion dynamique (Transact-SQL)
Fonctions et vues de gestion dynamique relatives à l'exécution (Transact-SQL)

Ajouts de la communauté

Afficher: