Freigeben über


sys.dm_exec_trigger_stats (Transact-SQL)

Gibt die Aggregatleistungsstatistik für zwischengespeicherte Trigger zurück. Diese Sicht enthält eine Zeile pro Trigger, und die Lebensdauer der Zeile entspricht der Verweildauer des Triggers im Cache. Bei Entfernen eines Triggers aus dem Cache wird die entsprechende Zeile aus dieser Sicht gelöscht. Zu diesem Zeitpunkt wird ein Leistungsstatistik-SQL-Ablaufverfolgungsereignis ausgelöst, das sys.dm_exec_query_stats entspricht.

Spaltenname

Datentyp

Beschreibung

database_id

int

ID der Datenbank, in der sich der Trigger befindet.

object_id

int

Objekt-ID des Triggers.

type

char(2)

Der Objekttyp.

TA = Assemblytrigger (CLR)

TR = SQL-Trigger

Type_desc

nvarchar(60)

Beschreibung des Objekttyps:

CLR_TRIGGER

SQL_TRIGGER

sql_handle

varbinary(64)

Kann zur Korrelation mit Abfragen in sys.dm_exec_query_stats verwendet werden, die aus diesem Trigger ausgeführt wurden.

plan_handle

varbinary(64)

Bezeichner für den speicherinternen Plan. Dieser Bezeichner ist vorübergehend und bleibt nur für die Dauer der Speicherung des Planes im Cache konstant. Dieser Wert kann mit der dynamischen Verwaltungssicht sys.dm_exec_cached_plans verwendet werden.

cached_time

datetime

Der Zeitpunkt, zu dem der Trigger dem Cache hinzugefügt wurde.

last_execution_time

datetime

Der Zeitpunkt, zu dem der Trigger zuletzt ausgeführt wurde.

execution_count

bigint

Die Anzahl von Ausführungen des Triggers seit der letzten Kompilierung.

total_worker_time

bigint

Die CPU-Gesamtzeit (in Mikrosekunden) für Ausführungen dieses Triggers seit der Kompilierung.

last_worker_time

bigint

CPU-Zeit (in Mikrosekunden) für die letzte Ausführung des Triggers.

min_worker_time

bigint

Bisherige maximale CPU-Zeit (in Mikrosekunden) für eine einzelne Ausführung dieses Triggers.

max_worker_time

bigint

Bisherige maximale CPU-Zeit (in Mikrosekunden) für eine einzelne Ausführung dieses Triggers.

total_physical_reads

bigint

Gesamtanzahl physischer Lesevorgänge für Ausführungen dieses Triggers seit der Kompilierung.

last_physical_reads

bigint

Anzahl physischer Lesevorgänge bei der letzten Ausführung des Triggers.

min_physical_reads

bigint

Bisherige minimale Anzahl physischer Lesevorgänge für eine einzelne Ausführung dieses Triggers.

max_physical_reads

bigint

Bisherige maximale Anzahl physischer Lesevorgänge für eine einzelne Ausführung dieses Triggers.

total_logical_writes

bigint

Gesamtanzahl logischer Schreibvorgänge für Ausführungen dieses Triggers seit der Kompilierung.

last_logical_writes

bigint

Anzahl logischer Schreibvorgänge bei der letzten Ausführung des Triggers.

min_logical_writes

bigint

Bisherige minimale Anzahl logischer Schreibvorgänge für eine einzelne Ausführung dieses Triggers.

max_logical_writes

bigint

Bisherige maximale Anzahl logischer Schreibvorgänge für eine einzelne Ausführung dieses Triggers.

total_logical_reads

bigint

Gesamtanzahl logischer Lesevorgänge für Ausführungen dieses Triggers seit der Kompilierung.

last_logical_reads

bigint

Anzahl logischer Lesevorgänge bei der letzten Ausführung des Triggers.

min_logical_reads

bigint

Bisherige minimale Anzahl logischer Lesevorgänge für eine einzelne Ausführung dieses Triggers.

max_logical_reads

bigint

Bisherige maximale Anzahl logischer Lesevorgänge für eine einzelne Ausführung dieses Triggers.

total_elapsed_time

bigint

Insgesamt verstrichene Zeit (in Mikrosekunden) für abgeschlossene Ausführungen dieses Triggers.

last_elapsed_time

bigint

Verstrichene Zeit (in Mikrosekunden) für die letzte abgeschlossene Ausführung dieses Triggers.

min_elapsed_time

bigint

Mindestens verstrichene Zeit (in Mikrosekunden) für eine beliebige abgeschlossene Ausführung dieses Triggers.

max_elapsed_time

bigint

Maximal verstrichene Zeit (in Mikrosekunden) für eine beliebige abgeschlossene Ausführung dieses Triggers.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Hinweise

Statistiken in der Sicht werden nach Abschluss einer Abfrage aktualisiert.

Beispiele

Im folgenden Beispiel werden Informationen zu den ersten zehn Triggern, gemessen an der CPU-Nutzung und sortiert nach der durchschnittlich verstrichenen Zeit, zurückgegeben.

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;

Änderungsverlauf

Aktualisierter Inhalt

Das Beispiel wurde durch aktualisierten Code ersetzt.