Partager via


sys.dm_exec_background_job_queue_stats

Mis à jour : 12 décembre 2006

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).

Nom de colonne Type de données Description

queue_max_len

int

Longueur maximale de la file d'attente.

enqueued_count

int

Nombre de demandes placées dans la file d'attente.

started_count

int

Nombre de demandes dont l'exécution a commencé.

ended_count

int

Nombre de demandes dont l'exécution s'est terminée sur un succès ou un échec.

failed_lock_count

int

Nombre de demandes ayant échoué à cause d'un problème de contention de verrouillage ou de blocage.

failed_other_count

int

Nombre de demandes ayant échoué pour d'autres raisons.

failed_giveup_count

int

Nombre de demandes ayant échoué parce que le nombre limite de tentatives était atteint.

enqueue_failed_full_count

int

Nombre de tentatives de mise en file d'attente ayant échoué parce que la file d'attente était saturée.

enqueue_failed_duplicate_count

int

Nombre de tentatives de mise en file d'attente en double.

elapsed_avg_ms

int

Temps moyen écoulé par demande en millisecondes.

elapsed_max_ms

int

Temps écoulé pour la demande la plus longue, en millisecondes.

Notes

Dans SQL Server 2005, seules des informations pour les travaux de statistiques de mise à jour asynchrone apparaissent dans cette vue. Pour plus d'informations sur des statistiques de mise à jour asynchrone, consultez Statistiques d'index.

Autorisations

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

Exemples

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 de mise en file d'attente ayant échoué

L'exemple suivant retourne le pourcentage des tentatives de mise en file d'attente 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

Voir aussi

Référence

Fonctions et vues de gestion dynamique
Fonctions et vues de gestion dynamique liées à l'exécution
ALTER DATABASE (Transact-SQL)
sys.dm_exec_background_job_queue

Autres ressources

Statistiques d'index

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Nouveau contenu :
  • Ajout des sections Notes et Exemples.