我正在运行以下选择:
SELECT tstats.object_id, tstats.database_id, tstats.sql_handle,
DB_NAME(tstats.database_id) AS [db_name], OBJECT_NAME(tstats.object_id) AS
trigger_name, tstats.execution_count, tstats.total_worker_time,
tstats.total_logical_reads, tstats.total_logical_writes, OBJECT_NAME(trgs.parent_id) AS
trigger_parent, getdate() AS [timestamp] FROM sys.dm_exec_trigger_stats tstats INNER
JOIN sys.triggers trgs ON tstats.object_id = trgs.object_id ORDER BY object_id asc
SQL Server 版本是 2019 (RTM-CU24) 标准。
问题是,某些触发器返回两次(相同的对象 ID、不同的执行计数和其他统计信息):
我正在尝试对这个sys.dm_exec_trigger_stats
DMV 进行采样并每分钟生成增量,以查看哪些触发器正在影响应用程序性能 - 我认为数据库名称、触发器的父名称和触发器名称(或 object_id)的组合是唯一的。它们多次返回,具有不同的运行时统计信息,我无法理解。提示表示赞赏。