sys.dm_exec_trigger_stats (Transact-SQL)
S’applique à : SQL ServerAzure SQL Database Azure SQL Managed Instance
Retourne les statistiques sur les performances des agrégats pour les déclencheurs mis en cache. La vue contient une ligne par déclencheur, et la durée de vie de la ligne correspond à celle pendant laquelle le déclencheur reste mis en cache. Lorsqu'un déclencheur est supprimé du cache, la ligne correspondante est éliminée de cette vue. À ce stade, un événement de trace SQL des statistiques de performances est déclenché comme sys.dm_exec_query_stats.
Nom de la colonne | Type de données | Description |
---|---|---|
database_id | int | ID de base de données dans lequel réside le déclencheur. Dans Azure SQL Database, les valeurs sont uniques au sein d’une base de données unique ou d’un pool élastique, mais pas dans un serveur logique. |
object_id | int | Numéro d'identification d'objet du déclencheur. |
type | char(2) | Type de l'objet : TA = Déclencheur assembly (CLR) TR = Déclencheur SQL |
Type_desc | nvarchar(60) | Description du type d'objet : CLR_TRIGGER SQL_TRIGGER |
sql_handle | varbinary(64) | Cela peut être utilisé pour mettre en corrélation les requêtes dans sys.dm_exec_query_stats qui ont été exécutées à partir de ce déclencheur. |
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 le déclencheur a été ajouté au cache. |
last_execution_time | datetime | Heure de dernière exécution du déclencheur. |
execution_count | bigint | Nombre de fois où le déclencheur a été exécuté depuis sa dernière compilation. |
total_worker_time | bigint | Durée totale du processeur, en microsecondes, consommée par les exécutions de ce déclencheur depuis sa compilation. |
last_worker_time | bigint | Temps processeur, en microsecondes, consommé lors de la dernière exécution du déclencheur. |
min_worker_time | bigint | Temps processeur maximal, en microsecondes, que ce déclencheur a jamais consommé pendant une seule exécution. |
max_worker_time | bigint | Temps processeur maximal, en microsecondes, que ce déclencheur a jamais consommé pendant une seule exécution. |
total_physical_reads | bigint | Nombre total de lectures physiques effectuées par les exécutions de ce déclencheur depuis sa compilation. |
last_physical_reads | bigint | Nombre de lectures physiques effectuées la dernière fois que le déclencheur a été exécuté. |
min_physical_reads | bigint | Nombre minimal de lectures physiques que ce déclencheur a jamais effectuées pendant une seule exécution. |
max_physical_reads | bigint | Nombre maximal de lectures physiques que ce déclencheur a jamais effectuées pendant une seule exécution. |
total_logical_writes | bigint | Nombre total d’écritures logiques effectuées par les exécutions de ce déclencheur depuis sa compilation. |
last_logical_writes | bigint | Nombre d’écritures logiques effectuées la dernière fois que le déclencheur a été exécuté. |
min_logical_writes | bigint | Nombre minimal d’écritures logiques que ce déclencheur a jamais effectuées pendant une seule exécution. |
max_logical_writes | bigint | Nombre maximal d’écritures logiques que ce déclencheur a jamais effectuées pendant une seule exécution. |
total_logical_reads | bigint | Nombre total de lectures logiques effectuées par les exécutions de ce déclencheur depuis sa compilation. |
last_logical_reads | bigint | Nombre de lectures logiques effectuées la dernière fois que le déclencheur a été exécuté. |
min_logical_reads | bigint | Nombre minimal de lectures logiques que ce déclencheur a jamais effectuées pendant une seule exécution. |
max_logical_reads | bigint | Nombre maximal de lectures logiques que ce déclencheur a jamais effectuées pendant une seule exécution. |
total_elapsed_time | bigint | Temps écoulé total, en microsecondes, pour les exécutions terminées de ce déclencheur. |
last_elapsed_time | bigint | Temps écoulé, en microsecondes, pour la dernière exécution de ce déclencheur. |
min_elapsed_time | bigint | Temps minimal écoulé, en microsecondes, pour toute exécution terminée de ce déclencheur. |
max_elapsed_time | bigint | Temps écoulé maximal, en microsecondes, pour toute exécution terminée de ce déclencheur. |
total_spills | bigint | Nombre total de pages déversées par l’exécution de ce déclencheur depuis sa compilation. S’applique à : à partir de SQL Server 2017 (14.x) CU3 |
last_spills | bigint | Le nombre de pages a déversé la dernière fois que le déclencheur a été exécuté. S’applique à : à partir de SQL Server 2017 (14.x) CU3 |
min_spills | bigint | Nombre minimal de pages que ce déclencheur a jamais déversées pendant une seule exécution. S’applique à : à partir de SQL Server 2017 (14.x) CU3 |
max_spills | bigint | Nombre maximal de pages que ce déclencheur a jamais déversées pendant une seule exécution. S’applique à : à partir de SQL Server 2017 (14.x) CU3 |
total_page_server_reads | bigint | Nombre total de lectures de serveur de pages effectuées par les exécutions de ce déclencheur depuis sa compilation. S’applique à : Azure SQL Database Hyperscale |
last_page_server_reads | bigint | Nombre de lectures de serveur de pages effectuées la dernière fois que le déclencheur a été exécuté. S’applique à : Azure SQL Database Hyperscale |
min_page_server_reads | bigint | Le nombre minimal de serveurs de pages lit que ce déclencheur a jamais effectué pendant une seule exécution. S’applique à : Azure SQL Database Hyperscale |
max_page_server_reads | bigint | Le nombre maximal de serveurs de pages lit que ce déclencheur a jamais effectué pendant une seule exécution. S’applique à : Azure SQL Database Hyperscale |
Notes
Dans SQL Database, les vues de gestion dynamique ne peuvent pas exposer les informations susceptibles d’avoir un impact sur le contenu de la base de données ou d’exposer des informations sur d’autres bases de données auxquelles l’utilisateur a accès. Pour éviter d’exposer ces informations, chaque ligne qui contient des données qui n’appartiennent pas au locataire connecté est filtrée.
Les statistiques de la vue sont actualisées lorsqu'une requête est terminée.
autorisations
Sur SQL Server et SQL Managed Instance, l’autorisation VIEW SERVER STATE
est requise.
Sur les objectifs de service SQL Database Basic, S0 et S1, et pour les bases de données dans des pools élastiques, le compte d’administrateur du serveur, le compte d’administrateur Microsoft Entra ou l’appartenance au ##MS_ServerStateReader##
rôle serveur est requis. Sur tous les autres objectifs de service SQL Database, l’autorisation VIEW DATABASE STATE
sur la base de données ou l’appartenance au rôle serveur ##MS_ServerStateReader##
est requise.
Autorisations pour SQL Server 2022 (et versions plus récentes)
Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.
Exemples
L'exemple suivant retourne des informations sur les cinq principaux déclencheurs identifiés d'après le temps moyen écoulé.
SELECT TOP 5 d.object_id, d.database_id, DB_NAME(database_id) AS 'database_name',
OBJECT_NAME(object_id, database_id) AS 'trigger_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_trigger_stats AS d
ORDER BY [total_worker_time] DESC;
Voir aussi
Fonctions et vues de gestion dynamique relatives à l'exécution (Transact-SQL)
sys.dm_exec_sql_text (Transact-SQL)
sys.dm_exec_query_stats (Transact-SQL)
sys.dm_exec_procedure_stats (Transact-SQL)
sys.dm_exec_cached_plans (Transact-SQL)