sys.dm_exec_trigger_stats (Transact-SQL)
Возвращает суммарную статистику производительности для кэшированных триггеров. Представление содержит одну строку для каждого триггера, а время существования строки равно времени пребывания триггера в кэше. Когда триггер удаляется из кэша, соответствующая строка исключается из представления. В этот момент возникает событие SQL-трассировки статистики производительности аналогично sys.dm_exec_query_stats.
Имя столбца |
Тип данных |
Описание |
---|---|---|
database_id |
int |
Идентификатор базы данных, в которой располагается триггер. |
object_id |
int |
Идентификатор триггера. |
тип |
char(2) |
Тип объекта: TA = триггер сборки (среда CLR); TR = триггер SQL |
Type_desc |
nvarchar(60) |
Описание типа объекта: CLR_TRIGGER SQL_TRIGGER |
sql_handle |
varbinary(64) |
Может использоваться для корреляции с запросами в представлении sys.dm_exec_query_stats, которые выполнялись из этого триггера. |
plan_handle |
varbinary(64) |
Идентификатор плана в оперативной памяти. Этот идентификатор является временным и не меняется, пока план сохраняется в кэше. Это значение может быть использовано с динамическим административным представлением sys.dm_exec_cached_plans. |
cached_time |
datetime |
Время, когда триггер был добавлен в кэш. |
last_execution_time |
datetime |
Время последнего выполнения триггера. |
execution_count |
bigint |
Количество выполнений триггера с момента последней компиляции. |
total_worker_time |
bigint |
Общее время ЦП, затраченное на выполнение триггера с момента компиляции, в микросекундах. |
last_worker_time |
bigint |
Время ЦП, затраченное на последнее выполнение триггера, в микросекундах. |
min_worker_time |
bigint |
Максимальное время ЦП (в микросекундах), которое этот триггер когда-либо затрачивал за одно выполнение. |
max_worker_time |
bigint |
Максимальное время ЦП (в микросекундах), которое этот триггер когда-либо затрачивал за одно выполнение. |
total_physical_reads |
bigint |
Общее количество операций физического считывания при выполнении триггера с момента его компиляции. |
last_physical_reads |
bigint |
Количество операций физического считывания за время последнего выполнения триггера. |
min_physical_reads |
bigint |
Минимальное количество операций физического считывания за одно выполнение триггера. |
max_physical_reads |
bigint |
Максимальное количество операций физического считывания за одно выполнение триггера. |
total_logical_writes |
bigint |
Общее количество операций логической записи при выполнении триггера с момента его компиляции. |
last_logical_writes |
bigint |
Количество операций логической записи за время последнего выполнения триггера. |
min_logical_writes |
bigint |
Минимальное количество операций логической записи за одно выполнение триггера. |
max_logical_writes |
bigint |
Максимальное количество операций логической записи за одно выполнение триггера. |
total_logical_reads |
bigint |
Общее количество операций логического считывания при выполнении триггера с момента его компиляции. |
last_logical_reads |
bigint |
Количество операций логического считывания за время последнего выполнения триггера. |
min_logical_reads |
bigint |
Минимальное количество операций логического считывания за одно выполнение триггера. |
max_logical_reads |
bigint |
Максимальное количество операций логического считывания за одно выполнение триггера. |
total_elapsed_time |
bigint |
Общее время, затраченное на выполнение триггера, в микросекундах. |
last_elapsed_time |
bigint |
Время, затраченное на последнее выполнение триггера, в микросекундах. |
min_elapsed_time |
bigint |
Минимальное время, затраченное на одно выполнение триггера, в микросекундах. |
max_elapsed_time |
bigint |
Максимальное время, затраченное на одно выполнение триггера, в микросекундах. |
Разрешения
Требует разрешений VIEW SERVER STATE на сервере.
Замечания
Статистика в представлении обновляется после завершения выполнения запроса.
Примеры
В следующем примере возвращаются сведения о 10 триггерах, занимающих наибольшее время ЦП, отсортированные по среднему затраченному времени.
PRINT '--top 10 CPU consuming triggers '
SELECT TOP 10 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;
См. также
Справочник
Журнал изменений
Обновления |
---|
Заменен пример с обновленным кодом. |