sys.dm_exec_background_job_queue_stats (Transact-SQL)
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 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 d'empilement ayant échoué parce que la file d'attente était saturée. |
enqueue_failed_duplicate_count |
int |
Nombre de tentatives d'empilement 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
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.
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 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
Voir aussi
Référence
Fonctions et vues de gestion dynamique (Transact-SQL)
Fonctions et vues de gestion dynamique relatives à l'exécution (Transact-SQL)