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 Entfernung 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.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version).

Spaltenname

Datentyp

Beschreibung

database_id

int

ID der Datenbank, in der sich der Trigger befindet.

object_id

int

Objekt-ID des Triggers.

Typ

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 Plans 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

total_physical_reads 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.

Hinweise

In Windows Azure SQL-Datenbank können dynamische Verwaltungssichten keine Informationen verfügbar machen, die sich auf den Datenbankeinschluss auswirken würden oder die sich auf andere Datenbanken beziehen, auf die der Benutzer Zugriff hat. Um zu vermeiden, dass diese Informationen verfügbar gemacht werden, wird jede Zeile mit Daten, die zum verbundenen Mandanten gehören, herausgefiltert.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Hinweise

Statistiken in der Sicht werden nach Abschluss einer Abfrage aktualisiert.

Beispiele

Das folgende Beispiel gibt Informationen zu den fünf Triggern mit der höchsten durchschnittlichen verstrichenen Zeit zurück.

PRINT '--top 5 CPU consuming triggers '

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;

Siehe auch

Verweis

Dynamische Verwaltungssichten und -funktionen im Zusammenhang mit der Ausführung (Transact-SQL)

sys.dm_exec_sql_text (Transact-SQL)

sys.dm_exec_query_stats (Transact-SQL)

Dynamische Verwaltungssichten und Funktionen (Transact-SQL)

sys.dm_exec_procedure_stats (Transact-SQL)

sys.dm_exec_cached_plans (Transact-SQL)