sys.dm_exec_procedure_stats (Transact-SQL)
Retourne les statistiques sur les performances des agrégats pour les procédures stockées mises en cache. La vue retourne une ligne pour chaque plan de procédure stockée mise en cache et la durée de vie de la ligne correspond à celle pendant laquelle la procédure stockée reste mise en cache. Lorsqu'une procédure stockée est supprimée du cache, la ligne correspondante est éliminée de cette vue. Un événement de trace SQL de statistiques de performances similaire à sys.dm_exec_query_stats est alors déclenché.
[!REMARQUE]
Une requête initiale de sys.dm_exec_procedure_stats peut produire des résultats inexacts si une charge de travail est actuellement exécutée sur le serveur. Des résultats plus précis peuvent être déterminés en réexécutant la requête.
Nom de la colonne |
Type de données |
Description |
---|---|---|
database_id |
int |
ID de base de données dans lequel réside la procédure stockée. |
object_id |
int |
Numéro d'identification d'objet de la procédure stockée. |
type |
char(2) |
Type de l'objet : P = Procédure stockée SQL PC = Procédure stockée d'assembly (CLR) X = Procédure stockée étendue |
type_desc |
nvarchar(60) |
Description du type d'objet : SQL_STORED_PROCEDURE CLR_STORED_PROCEDURE EXTENDED_STORED_PROCEDURE |
sql_handle |
varbinary(64) |
Cette valeur peut être utilisée pour établir une corrélation avec des requêtes de sys.dm_exec_query_stats qui ont été exécutées à partir de cette procédure stockée. |
plan_handle |
varbinary(64) |
Identificateur du plan en mémoire. Cet identificateur est temporaire et il reste constant uniquement tant que le plan est dans le cache. Cette valeur peut être utilisée avec la vue de gestion dynamique sys.dm_exec_cached_plans. |
cached_time |
datetime |
Heure à laquelle la procédure stockée a été ajoutée au cache. |
cached_time |
datetime |
Heure à laquelle la procédure stockée a été ajoutée au cache. |
last_execution_time |
datetime |
Heure de dernière exécution de la procédure stockée. |
execution_count |
bigint |
Nombre d'exécutions de la procédure stockée depuis sa dernière compilation. |
total_worker_time |
bigint |
Temps processeur total, en microsecondes, consommé par les exécutions de cette procédure stockée depuis sa compilation. |
last_worker_time |
bigint |
Temps processeur, en microsecondes, consommé lors de la dernière exécution de la procédure stockée. |
min_worker_time |
bigint |
Temps processeur maximal, en microsecondes, consommé par cette procédure stockée lors d'une seule exécution. |
max_worker_time |
bigint |
Temps processeur maximal, en microsecondes, consommé par cette procédure stockée lors d'une seule exécution. |
total_physical_reads |
bigint |
Nombre total de lectures physiques effectuées par les exécutions de cette procédure stockée depuis sa compilation. |
last_physical_reads |
bigint |
Nombre de lectures physiques effectuées lors de la dernière exécution de la procédure stockée. |
min_physical_reads |
bigint |
Nombre minimal de lectures physiques effectuées par cette procédure stockée lors d'une seule exécution. |
max_physical_reads |
bigint |
Nombre maximal de lectures physiques effectuées par cette procédure stockée lors d'une seule exécution. |
total_logical_writes |
bigint |
Nombre total d'écritures logiques effectuées par les exécutions de cette procédure stockée depuis sa compilation. |
last_logical_writes |
bigint |
Nombre d'écritures logiques effectuées lors de la dernière exécution de la procédure stockée. |
min_logical_writes |
bigint |
Nombre minimal d'écritures logiques effectuées par cette procédure stockée lors d'une seule exécution. |
max_logical_writes |
bigint |
Nombre maximal d'écritures logiques effectuées par cette procédure stockée lors d'une seule exécution. |
total_logical_reads |
bigint |
Nombre total de lectures logiques effectuées par les exécutions de cette procédure stockée depuis sa compilation. |
last_logical_reads |
bigint |
Nombre de lectures logiques effectuées lors de la dernière exécution de la procédure stockée. |
min_logical_reads |
bigint |
Nombre minimal de lectures logiques effectuées par cette procédure stockée lors d'une seule exécution. |
max_logical_reads |
bigint |
Nombre maximal de lectures logiques effectuées par cette procédure stockée lors d'une seule exécution. |
total_elapsed_time |
bigint |
Temps total écoulé, en microsecondes, pour les exécutions de cette procédure stockée. |
last_elapsed_time |
bigint |
Temps écoulé, en microsecondes, pour la dernière exécution de cette procédure stockée. |
min_elapsed_time |
bigint |
Temps minimal écoulé, en microsecondes, pour les différentes exécutions de cette procédure stockée. |
max_elapsed_time |
bigint |
Temps maximal écoulé, en microsecondes, pour les différentes exécutions de cette procédure stockée. |
Autorisations
Nécessite l'autorisation VIEW SERVER STATE sur le serveur.
Notes
Les statistiques de la vue sont mises à jour lorsqu'une exécution de procédure stockée se termine.
Exemples
L'exemple suivant retourne des informations sur les dix principales procédures stockées identifiées d'après le temps moyen écoulé.
SELECT TOP 10 d.object_id, d.database_id, OBJECT_NAME(object_id, database_id) 'proc name',
d.cached_time, d.last_execution_time, d.total_elapsed_time, d.total_elapsed_time/d.execution_count AS [avg_elapsed_time],
d.last_elapsed_time, d.execution_count
FROM sys.dm_exec_procedure_stats AS d
ORDER BY [total_worker_time] DESC;