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)