sys.dm_exec_trigger_stats (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
Devuelve estadísticas de rendimiento de agregado para los desencadenadores en memoria caché. La vista contiene una fila por cada desencadenador y la duración de la fila corresponde al 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 genera un evento de Seguimiento de SQL de estadísticas de rendimiento similar a sys.dm_exec_query_stats.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
database_id | int | Identificador de base de datos en que reside el desencadenador. En Azure SQL Database, los valores son únicos dentro de una base de datos única o un grupo elástico, pero no dentro de un servidor lógico. |
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 de objeto: CLR_TRIGGER SQL_TRIGGER |
sql_handle | varbinary(64) | Esto se puede usar para correlacionar con las consultas de sys.dm_exec_query_stats que se ejecutaron desde este desencadenador. |
plan_handle | varbinary(64) | Identificador del plan en memoria. Este identificador es transitorio y permanece constante solo mientras el plan permanece en la memoria caché. Este valor se puede usar con la vista de administración dinámica 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 la última compilación. |
total_worker_time | bigint | Cantidad total de tiempo de CPU, en microsegundos, consumido por 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, que este desencadenador ha consumido nunca durante una sola ejecución. |
max_worker_time | bigint | Tiempo máximo de CPU, en microsegundos, que este desencadenador ha consumido nunca durante una sola ejecución. |
total_physical_reads | bigint | Número total de lecturas físicas realizadas por 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 que este desencadenador ha realizado durante una sola ejecución. |
max_physical_reads | bigint | Número máximo de lecturas físicas que este desencadenador ha realizado durante una sola ejecución. |
total_logical_writes | bigint | Número total de escrituras lógicas realizadas por 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 que este desencadenador ha realizado durante una sola ejecución. |
max_logical_writes | bigint | Número máximo de escrituras lógicas que este desencadenador ha realizado durante una sola ejecución. |
total_logical_reads | bigint | Número total de lecturas lógicas realizadas por 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 que este desencadenador ha realizado durante una sola ejecución. |
max_logical_reads | bigint | Número máximo de lecturas lógicas que este desencadenador ha realizado durante una sola ejecución. |
total_elapsed_time | bigint | Tiempo total transcurrido, en microsegundos, para las ejecuciones completadas 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, para cualquier ejecución completada de este desencadenador. |
max_elapsed_time | bigint | Tiempo máximo transcurrido, en microsegundos, para cualquier ejecución completada de este desencadenador. |
total_spills | bigint | Número total de páginas derramadas por la ejecución de este desencadenador desde que se compiló. Se aplica a: A partir de SQL Server 2017 (14.x) CU3 |
last_spills | bigint | Número de páginas derramadas la última vez que se ejecutó el desencadenador. Se aplica a: A partir de SQL Server 2017 (14.x) CU3 |
min_spills | bigint | Número mínimo de páginas que este desencadenador ha derramado durante una sola ejecución. Se aplica a: A partir de SQL Server 2017 (14.x) CU3 |
max_spills | bigint | Número máximo de páginas que este desencadenador ha derramado durante una sola ejecución. Se aplica a: A partir de SQL Server 2017 (14.x) CU3 |
total_page_server_reads | bigint | Número total de lecturas del servidor de páginas realizadas por ejecuciones de este desencadenador desde que se compiló. Se aplica a: Hiperescala de Azure SQL Database |
last_page_server_reads | bigint | El número de lecturas del servidor de páginas realizó la última vez que se ejecutó el desencadenador. Se aplica a: Hiperescala de Azure SQL Database |
min_page_server_reads | bigint | El número mínimo de servidores de páginas lee que este desencadenador ha realizado alguna vez durante una sola ejecución. Se aplica a: Hiperescala de Azure SQL Database |
max_page_server_reads | bigint | El número máximo de servidores de páginas lee que este desencadenador ha realizado alguna vez durante una sola ejecución. Se aplica a: Hiperescala de Azure SQL Database |
Comentarios
En SQL Database, las vistas de administración dinámica no pueden exponer información que afecte a la contención de la base de datos o que exponga información sobre otras bases de datos a las que el usuario tiene acceso. Para evitar exponer esta información, se filtran todas las filas que contienen datos que no pertenecen al inquilino conectado.
Cuando se completa una consulta, se actualizan las estadísticas en la vista.
Permisos
En SQL Server y SQL Managed Instance, requiere el permiso VIEW SERVER STATE
.
En los objetivos de servicio Básico, S0 y S1 de SQL Database y para bases de datos en grupos elásticos, se requiere la cuenta de administrador del servidor, la cuenta de administrador Microsoft Entra o la pertenencia al ##MS_ServerStateReader##
rol del servidor. En el resto de objetivos del servicio de SQL Database, se requiere el permiso VIEW DATABASE STATE
en la base de datos o la pertenencia en el rol del servidor ##MS_ServerStateReader##
.
Permisos para SQL Server 2022 y versiones posteriores
Requiere el permiso VER ESTADO DE RENDIMIENTO DEL SERVIDOR en el servidor.
Ejemplos
En el ejemplo siguiente se devuelve información acerca de los cinco principales desencadenadores identificados por el promedio de tiempo transcurrido.
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;
Consulte también
Funciones y vistas de administración dinámica relacionadas con ejecuciones (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)