Delen via


sys.dm_exec_trigger_stats (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Geeft aggregatie-prestatiestatistieken voor gecachte triggers terug. De weergave bevat één rij per trigger, en de levensduur van de rij is zo lang als de trigger gecachet blijft. Wanneer een trigger uit de cache wordt verwijderd, wordt de overeenkomstige rij uit deze weergave verwijderd. Op dat moment wordt er een SQL-tracerings gebeurtenis voor prestatiestatistieken gegenereerd die vergelijkbaar is met sys.dm_exec_query_stats.

Kolomnaam Gegevenstype Description
database_id int Database-ID waarin de trigger zich bevindt.

In Azure SQL Database zijn de waarden uniek binnen één database of een elastische pool, maar niet binnen een logische server.
object_id int Objectidentificatienummer van de trigger.
type char(2) Type van het object:

TA = Assembly (CLR) trigger

TR = SQL-trigger
Type_desc nvarchar(60) Beschrijving van het objecttype:

CLR_TRIGGER

SQL_TRIGGER
sql_handle varbinary(64) Dit kan worden gebruikt om te correleren met zoekopdrachten in sys.dm_exec_query_stats die vanuit deze trigger zijn uitgevoerd.
plan_handle varbinary(64) Identificator voor het in-memory plan. Deze id is tijdelijk en blijft alleen constant terwijl het plan in de cache blijft. Deze waarde kan worden gebruikt met de sys.dm_exec_cached_plans dynamische beheerweergave.
gecachede_tijd datetime Tijdstip waarop de trigger aan de cache werd toegevoegd.
laatste_uitvoertijd datetime De laatste keer dat de trigger werd uitgevoerd.
execution_count bigint Het aantal keren dat de trigger is uitgevoerd sinds de laatste compilatie.
total_worker_time bigint De totale hoeveelheid CPU-tijd, in microseconden, die is verbruikt door uitvoeringen van deze trigger sinds deze werd gecompileerd.
laatste_werknemerstijd bigint CPU-tijd, in microseconden, die werd verbruikt bij de laatste keer dat de trigger werd uitgevoerd.
min_worker_time bigint De maximale CPU-tijd, in microseconden, die deze trigger ooit heeft verbruikt tijdens één uitvoering.
max_worker_time bigint De maximale CPU-tijd, in microseconden, die deze trigger ooit heeft verbruikt tijdens één uitvoering.
total_physical_reads bigint Het totale aantal fysieke lezingen uitgevoerd door uitvoeringen van deze trigger sinds deze is gecompileerd.
last_physical_reads bigint Het aantal fysieke lezingen dat de laatste keer dat de trigger werd uitgevoerd, uitgevoerd.
min_physical_reads bigint Het minimum aantal fysieke reads dat deze trigger ooit tijdens een enkele uitvoering heeft uitgevoerd.
max_physical_reads bigint Het maximale aantal fysieke lezingen dat deze trigger ooit heeft uitgevoerd tijdens een enkele uitvoering.
total_logical_writes bigint Het totale aantal logische schrijfopdrachten dat door uitvoeringen van deze trigger is uitgevoerd sinds deze is gecompileerd.
laatste_logische_schrijvingen bigint Het aantal logische schrijfopdrachten dat de laatste keer dat de trigger werd uitgevoerd, werd uitgevoerd.
min_logical_writes bigint Het minimum aantal logische schrijfacties dat deze trigger ooit tijdens een enkele uitvoering heeft uitgevoerd.
max_logical_writes bigint Het maximale aantal logische schrijfacties dat deze trigger ooit tijdens één uitvoering heeft uitgevoerd.
total_logical_reads bigint Het totale aantal logische lezingen dat door uitvoeringen van deze trigger is uitgevoerd sinds deze is gecompileerd.
last_logical_reads bigint Het aantal logische lezingen dat de laatste keer dat de trigger werd uitgevoerd, is uitgevoerd.
min_logical_reads bigint Het minimum aantal logische lezingen dat deze trigger ooit heeft uitgevoerd tijdens een enkele uitvoering.
max_logical_reads bigint Het maximale aantal logische lezingen dat deze trigger ooit heeft uitgevoerd tijdens een enkele uitvoering.
total_elapsed_time bigint De totale verstreken tijd, in microseconden, voor voltooide uitvoeringen van deze trigger.
laatste_verstreken_tijd bigint Verstreken tijd, in microseconden, voor de meest recent voltooide uitvoering van deze trigger.
min_elapsed_time bigint De minimale verstreken tijd, in microseconden, voor elke voltooide uitvoering van deze trigger.
max_verstreken_tijd bigint De maximale verstreken tijd, in microseconden, voor elke voltooide uitvoering van deze trigger.
total_spills bigint Het totale aantal pagina's dat door de uitvoering van deze trigger is gespeeld sinds deze is gecompileerd.

Van toepassing op: Vanaf SQL Server 2017 (14.x) CU3
last_spills bigint Het aantal pagina's dat de laatste keer dat de trigger werd uitgevoerd, werd overgeslagen.

Van toepassing op: Vanaf SQL Server 2017 (14.x) CU3
min_spills bigint Het minimale aantal pagina's dat deze trigger ooit heeft gelost tijdens een enkele uitvoering.

Van toepassing op: Vanaf SQL Server 2017 (14.x) CU3
max_spills bigint Het maximale aantal pagina's dat deze trigger ooit is overgeslagen tijdens één uitvoering.

Van toepassing op: Vanaf SQL Server 2017 (14.x) CU3
total_page_server_reads bigint Het totale aantal paginaserverlezingen dat door uitvoeringen van deze trigger is uitgevoerd sinds deze is gecompileerd.

Van toepassing op: Azure SQL Database Hyperscale
last_page_server_reads bigint Het aantal pagina-serverlezingen dat voor het laatst werd uitgevoerd toen de trigger werd uitgevoerd.

Van toepassing op: Azure SQL Database Hyperscale
min_page_server_reads bigint Het minimale aantal paginaserver-reads dat deze trigger ooit tijdens een enkele uitvoering heeft uitgevoerd.

Van toepassing op: Azure SQL Database Hyperscale
max_page_server_reads bigint Het maximale aantal paginaserver-reads dat deze trigger ooit heeft uitgevoerd tijdens een enkele uitvoering.

Van toepassing op: Azure SQL Database Hyperscale

Opmerkingen

In SQL Database kunnen dynamische beheerweergaven geen informatie beinigen die de database-inhoud beïnvloedt of informatie over andere databases waartoe de gebruiker toegang heeft. Om te voorkomen dat deze informatie zichtbaar wordt gemaakt, wordt elke rij met gegevens die geen deel uitmaken van de verbonden tenant uitgefilterd.

Statistieken in de weergave worden bijgewerkt wanneer een query is voltooid.

Permissions

Voor SQL Server en SQL Managed Instance is een machtiging vereist VIEW SERVER STATE .

Voor servicedoelstellingen van SQL Database Basic, S0 en S1 en voor databases in elastische pools is het serverbeheerdersaccount , het Microsoft Entra-beheerdersaccount of het lidmaatschap van de ##MS_ServerStateReader##serverrol vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader## serverfunctie vereist.

Machtigingen voor SQL Server 2022 en hoger

Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.

Voorbeelden

Het volgende voorbeeld geeft informatie over de vijf belangrijkste triggers die zijn geïdentificeerd door gemiddeld verstreken tijd.

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;  

Zie ook

uitvoeringsgerelateerde dynamische beheerweergaven en -functies (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)