Share via


sys.dm_exec_trigger_stats (Transact-SQL)

Devuelve estadísticas de rendimiento de agregado para los desencadenadores en memoria caché. La vista contiene una fila por cada desencadenador y la vigencia de la fila es el tiempo que el desencadenador permanece en memoria caché. Cuando se quita un desencadenador de la memoria caché, la fila correspondiente se elimina de esta vista. En ese momento, se provoca un evento de seguimiento SQL de estadísticas de rendimiento similar a sys.dm_exec_query_stats.

Nombre de columna

Tipo de datos

Descripción

database_id

int

Identificador de base de datos en que reside el desencadenador.

object_id

int

Número de identificación del objeto del desencadenador.

type

char(2)

Tipo del objeto:

TA = Desencadenador de ensamblado (CLR)

TR = Desencadenador SQL

Type_desc

nvarchar(60)

Descripción del tipo del objeto:

CLR_TRIGGER

SQL_TRIGGER

sql_handle

varbinary(64)

Se puede utilizar para establecer una correlación con las consultas en sys.dm_exec_query_stats que se ejecutaron desde el interior de este desencadenador.

plan_handle

varbinary(64)

Identificador del plan en memoria. Este identificador es transitorio y permanece constante sólo mientras el plan permanece en la caché. Este valor se puede usar con la vista de administración dinámica de sys.dm_exec_cached_plans:

cached_time

datetime

Momento en que el desencadenador se agregó a la caché.

last_execution_time

datetime

Última vez que se ejecutó el desencadenador vez.

execution_count

bigint

Número de veces que se ha ejecutado el desencadenador desde que se compiló por última vez.

total_worker_time

bigint

Tiempo total de CPU, en microsegundos, consumido por las ejecuciones de este desencadenador desde que se compiló.

last_worker_time

bigint

Tiempo de CPU, en microsegundos, consumido la última vez que se ejecutó el desencadenador.

min_worker_time

bigint

Tiempo máximo de CPU, en microsegundos, consumido por este desencadenador durante una ejecución.

max_worker_time

bigint

Tiempo máximo de CPU, en microsegundos, consumido por este desencadenador durante una ejecución.

total_physical_reads

bigint

Número total de lecturas físicas realizadas por las ejecuciones de este desencadenador desde que se compiló.

last_physical_reads

bigint

Número de lecturas físicas realizadas la última vez que se ejecutó el desencadenador.

min_physical_reads

bigint

Número mínimo de lecturas físicas realizadas por este desencadenador durante una ejecución.

max_physical_reads

bigint

Número máximo de lecturas físicas realizadas por este desencadenador durante una ejecución.

total_logical_writes

bigint

Número total de escrituras lógicas realizadas por las ejecuciones de este desencadenador desde que se compiló.

last_logical_writes

bigint

Número de escrituras lógicas realizadas la última vez que se ejecutó el desencadenador.

min_logical_writes

bigint

Número mínimo de escrituras lógicas realizadas por este desencadenador durante una ejecución.

max_logical_writes

bigint

Número máximo de escrituras lógicas realizadas por este desencadenador durante una ejecución.

total_logical_reads

bigint

Número total de lecturas lógicas realizadas por las ejecuciones de este desencadenador desde que se compiló.

last_logical_reads

bigint

Número de lecturas lógicas realizadas la última vez que se ejecutó el desencadenador.

min_logical_reads

bigint

Número mínimo de lecturas lógicas realizadas por este desencadenador durante una ejecución.

max_logical_reads

bigint

Número máximo de lecturas lógicas realizadas por este desencadenador durante una ejecución.

total_elapsed_time

bigint

Tiempo total transcurrido, en microsegundos, hasta la finalización de las ejecuciones de este desencadenador.

last_elapsed_time

bigint

Tiempo transcurrido, en microsegundos, hasta la finalización de la ejecución más reciente de este desencadenador.

min_elapsed_time

bigint

Tiempo mínimo transcurrido, en microsegundos, hasta la finalización de cualquier ejecución de este desencadenador.

max_elapsed_time

bigint

Tiempo máximo transcurrido, en microsegundos, hasta la finalización de cualquier ejecución de este desencadenador.

Permisos

Requiere el permiso VIEW SERVER STATE en el servidor.

Notas

Cuando se completa una consulta, se actualizan las estadísticas en la vista.

Ejemplos

En el siguiente ejemplo se devuelve información acerca de los diez desencadenadores que hacen un mayor uso de la CPU ordenados por el tiempo medio transcurrido.

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;

Historial de cambios

Contenido actualizado

Se ha reemplazado el ejemplo por código actualizado.