Partilhar via


sys.dm_exec_trigger_stats (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Devolve estatísticas agregadas de desempenho para gatilhos em cache. A vista contém uma linha por disparador, e a vida útil da linha é o máximo que o gatilho permanece em cache. Quando um gatilho é removido da cache, a linha correspondente é eliminada dessa vista. Nesse momento, um evento de rastreamento SQL do Performance Statistics é gerado semelhante ao sys.dm_exec_query_stats.

Nome da coluna Tipo de dados Description
database_id int ID da base de dados onde o disparador reside.

No Banco de Dados SQL do Azure, os valores são exclusivos em um único banco de dados ou pool elástico, mas não em um servidor lógico.
object_id int Número de identificação do objeto do gatilho.
type char(2) Tipo do objeto:

TA = Gatilho de montagem (CLR)

TR = gatilho SQL
Type_desc nvarchar(60) Descrição do tipo de objeto:

CLR_TRIGGER

SQL_TRIGGER
sql_handle varbinary(64) Isto pode ser usado para correlacionar com consultas em sys.dm_exec_query_stats que foram executadas dentro deste gatilho.
plan_handle varbinary(64) Identificador do plano na memória. Esse identificador é transitório e permanece constante apenas enquanto o plano permanece no cache. Esse valor pode ser usado com a sys.dm_exec_cached_plans visualização de gerenciamento dinâmico.
cached_time datetime Hora em que o gatilho foi adicionado à cache.
hora_da_última_execução datetime Da última vez em que o gatilho foi executado.
execution_count bigint O número de vezes que o gatilho foi executado desde a última compilação.
total_worker_time bigint A quantidade total de tempo de CPU, em microssegundos, consumida pelas execuções deste gatilho desde a sua compilação.
last_worker_time bigint Tempo de CPU, em microssegundos, que foi consumido da última vez que o disparo foi executado.
min_worker_time bigint O tempo máximo de CPU, em microssegundos, que este gatilho alguma vez consumiu durante uma única execução.
max_worker_time bigint O tempo máximo de CPU, em microssegundos, que este gatilho alguma vez consumiu durante uma única execução.
total_physical_reads bigint O número total de leituras físicas realizadas pelas execuções deste gatilho desde que foi compilado.
last_physical_reads bigint O número de leituras físicas realizadas na última vez que o gatilho foi executado.
min_physical_reads bigint O número mínimo de leituras físicas que este gatilho alguma vez realizou durante uma única execução.
max_physical_reads bigint O número máximo de leituras físicas que este gatilho alguma vez realizou durante uma única execução.
total_logical_writes bigint O número total de escritas lógicas realizadas pelas execuções deste gatilho desde que foi compilado.
last_logical_writes bigint O número de escritas lógicas realizadas na última vez que o gatilho foi executado.
min_logical_writes bigint O número mínimo de escritas lógicas que este gatilho alguma vez realizou durante uma única execução.
max_logical_writes bigint O número máximo de escritas lógicas que este gatilho alguma vez realizou durante uma única execução.
total_logical_reads bigint O número total de leituras lógicas realizadas pelas execuções deste gatilho desde que foi compilado.
últimas_leituras_lógicas bigint O número de leituras lógicas realizadas na última vez que o gatilho foi executado.
min_logical_reads bigint O número mínimo de leituras lógicas que este gatilho alguma vez realizou durante uma única execução.
max_logical_reads bigint O número máximo de leituras lógicas que este gatilho alguma vez realizou durante uma única execução.
total_elapsed_time bigint O tempo total decorrido, em microssegundos, para as execuções concluídas deste gatilho.
tempo_decorrido_último bigint Tempo decorrido, em microssegundos, para a execução mais recente deste gatilho.
min_elapsed_time bigint O tempo mínimo decorrido, em microssegundos, para qualquer execução completa deste gatilho.
max_elapsed_time bigint O tempo máximo decorrido, em microssegundos, para qualquer execução completa deste gatilho.
total_spills bigint O número total de páginas divulgadas pela execução deste gatilho desde que foi compilado.

Aplica-se a: A partir do SQL Server 2017 (14.x) CU3
last_spills bigint O número de páginas derramadas da última vez que o gatilho foi acionado.

Aplica-se a: A partir do SQL Server 2017 (14.x) CU3
min_spills bigint O número mínimo de páginas que este gatilho alguma vez derramou numa única execução.

Aplica-se a: A partir do SQL Server 2017 (14.x) CU3
max_spills bigint O número máximo de páginas que este gatilho alguma vez derramou durante uma única execução.

Aplica-se a: A partir do SQL Server 2017 (14.x) CU3
total_page_server_reads bigint O número total de leituras do servidor de páginas realizadas pelas execuções deste gatilho desde a sua compilação.

Aplica-se a: Hiperescala do Banco de Dados SQL do Azure
last_page_server_reads bigint O número de leituras do servidor de páginas realizadas na última vez que o disparador foi executado.

Aplica-se a: Hiperescala do Banco de Dados SQL do Azure
min_page_server_reads bigint O número mínimo de leituras de servidor de páginas que este gatilho alguma vez realizou durante uma única execução.

Aplica-se a: Hiperescala do Banco de Dados SQL do Azure
max_page_server_reads bigint O número máximo de leituras do servidor de páginas que este gatilho alguma vez realizou durante uma única execução.

Aplica-se a: Hiperescala do Banco de Dados SQL do Azure

Observações

Na base de dados SQL, as vistas de gestão dinâmica não podem expor informações que possam afetar a contenção da base de dados ou informações sobre outras bases de dados a que o utilizador tenha acesso. Para evitar a exposição dessas informações, todas as linhas que contêm dados que não pertencem ao locatário conectado são filtradas.

As estatísticas na vista são atualizadas quando uma consulta é concluída.

Permissions

No SQL Server e na Instância Gerenciada do SQL, requer VIEW SERVER STATE permissão.

No Banco de Dados SQL Basic, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administrador do Microsoft Entra ou a associação aode função de servidor ##MS_ServerStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de dados SQL, é necessária a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader##.

Permissões para SQL Server 2022 e posterior

Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Examples

O exemplo seguinte devolve informações sobre os cinco principais gatilhos identificados pelo tempo médio decorrido.

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;  

Ver também

Visualizações e funções de gerenciamento dinâmico relacionadas à execução (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)