Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Returns aggregate performance statistics for cached triggers. The view contains one row per trigger, and the lifetime of the row is as long as the trigger remains cached. When a trigger is removed from the cache, the corresponding row is eliminated from this view. At that time, a Performance Statistics SQL trace event is raised similar to sys.dm_exec_query_stats.
Column name |
Data type |
Description |
---|---|---|
database_id |
int |
Database ID in which the trigger resides. |
object_id |
int |
Object identification number of the trigger. |
type |
char(2) |
Type of the object: TA = Assembly (CLR) trigger TR = SQL trigger |
Type_desc |
nvarchar(60) |
Description of the object type: CLR_TRIGGER SQL_TRIGGER |
sql_handle |
varbinary(64) |
This can be used to correlate with queries in sys.dm_exec_query_stats that were executed from within this trigger. |
plan_handle |
varbinary(64) |
Identifier for the in-memory plan. This identifier is transient and remains constant only while the plan remains in the cache. This value may be used with the sys.dm_exec_cached_plans dynamic management view. |
cached_time |
datetime |
Time at which the trigger was added to the cache. |
last_execution_time |
datetime |
Last time at which the trigger was executed. |
execution_count |
bigint |
Number of times that the trigger has been executed since it was last compiled. |
total_worker_time |
bigint |
Total amount of CPU time, in microseconds, that was consumed by executions of this trigger since it was compiled. |
last_worker_time |
bigint |
CPU time, in microseconds, that was consumed the last time the trigger was executed. |
min_worker_time |
bigint |
Maximum CPU time, in microseconds, that this trigger has ever consumed during a single execution. |
max_worker_time |
bigint |
Maximum CPU time, in microseconds, that this trigger has ever consumed during a single execution. |
total_physical_reads |
bigint |
Total number of physical reads performed by executions of this trigger since it was compiled. |
last_physical_reads |
bigint |
Number of physical reads performed the last time the trigger was executed. |
min_physical_reads |
bigint |
Minimum number of physical reads that this trigger has ever performed during a single execution. |
max_physical_reads |
bigint |
Maximum number of physical reads that this trigger has ever performed during a single execution. |
total_logical_writes |
bigint |
Total number of logical writes performed by executions of this trigger since it was compiled. |
last_logical_writes |
bigint |
Number of the number of buffer pool pages dirtied the last time the plan was executed. If a page is already dirty (modified) no writes are counted. |
min_logical_writes |
bigint |
Minimum number of logical writes that this trigger has ever performed during a single execution. |
max_logical_writes |
bigint |
Maximum number of logical writes that this trigger has ever performed during a single execution. |
total_logical_reads |
bigint |
Total number of logical reads performed by executions of this trigger since it was compiled. |
last_logical_reads |
bigint |
Number of logical reads performed the last time the trigger was executed. |
min_logical_reads |
bigint |
Minimum number of logical reads that this trigger has ever performed during a single execution. |
max_logical_reads |
bigint |
Maximum number of logical reads that this trigger has ever performed during a single execution. |
total_elapsed_time |
bigint |
Total elapsed time, in microseconds, for completed executions of this trigger. |
last_elapsed_time |
bigint |
Elapsed time, in microseconds, for the most recently completed execution of this trigger. |
min_elapsed_time |
bigint |
Minimum elapsed time, in microseconds, for any completed execution of this trigger. |
max_elapsed_time |
bigint |
Maximum elapsed time, in microseconds, for any completed execution of this trigger. |
Permissions
Requires VIEW SERVER STATE permission on server.
Remarks
Statistics in the view are updated when a query is completed.
Examples
The following example returns information about the top five triggers identified by average elapsed time.
PRINT '--top 5 CPU consuming triggers '
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;
See Also
Reference
Execution Related Dynamic Management Views and Functions (Transact-SQL)
sys.dm_exec_sql_text (Transact-SQL)
sys.dm_exec_query_stats (Transact-SQL)
Dynamic Management Views and Functions (Transact-SQL)