Udostępnij za pomocą


sys.dm_exec_trigger_stats (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Zwraca zagregowane statystyki wydajności dla buforowanych wyzwalaczy. Widok zawiera jeden wiersz na każdy wyzwalacz, a żywotność wiersza wynosi tak długo, jak wyzwalacz pozostaje w pamięci podręcznej. Gdy wyzwalacz zostanie usunięty z pamięci podręcznej, odpowiadający mu wiersz jest usuwany z tego widoku. W tym czasie uruchamiane jest zdarzenie śledzenia SQL dotyczące statystyk wydajności, podobnie jak sys.dm_exec_query_stats.

Nazwa kolumny Typ danych Description
database_id int Identyfikator bazy danych, w którym znajduje się wyzwalacz.

W usłudze Azure SQL Database wartości są unikatowe w ramach pojedynczej bazy danych lub elastycznej puli, ale nie w obrębie serwera logicznego.
object_id int Numer identyfikacyjny obiektu wyzwalacza.
type char(2) Typ obiektu:

TA = Mechanizm Assembly (CLR)

TR = wyzwalacz SQL
Type_desc nvarchar(60) Opis typu obiektu:

CLR_TRIGGER

SQL_TRIGGER
sql_handle varbinary(64) Może to być używane do korelacji z zapytaniami w sys.dm_exec_query_stats , które zostały wykonane w obrębie tego wyzwalacza.
plan_handle varbinary(64) Identyfikator planu w pamięci. Ten identyfikator jest przejściowy i pozostaje stały tylko wtedy, gdy plan pozostaje w pamięci podręcznej. Ta wartość może być używana z dynamicznym widokiem zarządzania sys.dm_exec_cached_plans.
cached_time datetime Czas, w którym wyzwalacz został dodany do pamięci podręcznej.
last_execution_time datetime Ostatnim razem, gdy wyzwalacz został wykonany.
liczba_wykonań bigint Liczba wyzwalaczy, ile razy wyzwalacz był wykonywany od czasu ostatniego skompilowania.
total_worker_time bigint Całkowita ilość czasu CPU, wyliczana w mikrosekundach, która została zużyta na wykonanie tego wyzwalacza od momentu jego kompilacji.
czas_ostatniego_pracownika bigint Czas procesora, w mikrosekundach, zużyty przy ostatnim uruchomieniu wyzwalacza.
min_worker_time bigint Maksymalny czas CPU, wymierzony w mikrosekundy, jaki ten wyzwalacz kiedykolwiek zużywał podczas jednego wykonania.
max_worker_time bigint Maksymalny czas CPU, wymierzony w mikrosekundy, jaki ten wyzwalacz kiedykolwiek zużywał podczas jednego wykonania.
total_physical_reads (całkowita liczba fizycznych odczytów) bigint Całkowita liczba fizycznych odczytów wykonanych przez wykonanie tego wyzwalacza od momentu jego kompilacji.
ostatnie_odczyty_fizyczne bigint Liczba fizycznych odczytów wykonanych podczas ostatniego wykonania wyzwalacza.
minimalne_fizyczne_odczyty bigint Minimalna liczba fizycznych odczytów, jakie ten wyzwalacz kiedykolwiek wykonał podczas jednego wykonania.
max_physical_reads bigint Maksymalna liczba fizycznych odczytów, jaką ten wyzwalacz kiedykolwiek wykonał podczas jednego wykonania.
total_logical_writes bigint Całkowita liczba logicznych zapisów wykonanych przez wykonanie tego wyzwalacza od momentu jego kompilacji.
last_logical_writes bigint Liczba zapisów logicznych wykonanych podczas ostatniego wykonania wyzwalacza.
min_logical_writes bigint Minimalna liczba zapisów logicznych, jaką ten wyzwalacz kiedykolwiek wykonał podczas jednego wykonania.
max_logical_writes bigint Maksymalna liczba zapisów logicznych, jaką ten wyzwalacz kiedykolwiek wykonał podczas jednego wykonania.
total_logical_reads bigint Łączna liczba odczytów logicznych wykonanych przez wykonanie tego wyzwalacza od momentu jego kompilacji.
last_logical_reads bigint Liczba odczytów logicznych wykonanych podczas ostatniego wykonania wyzwalacza.
min_logical_reads bigint Minimalna liczba odczytów logicznych, jaką ten wyzwalacz kiedykolwiek wykonał podczas jednego wykonania.
max_logical_reads bigint Maksymalna liczba odczytów logicznych, jaką ten wyzwalacz kiedykolwiek wykonał podczas jednego wykonania.
total_elapsed_time bigint Całkowity czas upłynięty w mikrosekundach na zakończenie wykonania tego wyzwalacza.
last_elapsed_time bigint Czas upłynął, w mikrosekundach, od ostatnio zakończonego wykonania tego wyzwalacza.
min_czas_upływu bigint Minimalny czas upływający w mikrosekundach dla zakończenia wykonania tego wyzwalacza.
max_elapsed_time (maksymalny czas upłynięty) bigint Maksymalny czas upływający w mikrosekundach dla zakończenia wykonania tego wyzwalacza.
total_spills bigint Łączna liczba stron rozlanych przez wykonanie tego wyzwalacza od momentu jego skompilowania.

Dotyczy do: Zaczynając od SQL Server 2017 (14.x) CU3
last_spills bigint Liczba stron wylanych przy ostatnim uruchomieniu wyzwalacza.

Dotyczy do: Zaczynając od SQL Server 2017 (14.x) CU3
min_spills bigint Minimalna liczba stron, jaką ten wyzwalacz kiedykolwiek wysypał podczas jednej egzekucji.

Dotyczy do: Zaczynając od SQL Server 2017 (14.x) CU3
max_spills bigint Maksymalna liczba stron, jaką ten wyzwalacz kiedykolwiek wysypał podczas jednej egzekucji.

Dotyczy do: Zaczynając od SQL Server 2017 (14.x) CU3
total_page_server_reads bigint Całkowita liczba odczytów serwera stron wykonanych przez wykonanie tego wyzwalacza od momentu jego skompilowania.

Dotyczy: Hiperskala usługi Azure SQL Database
ostatnie_odczyty_serwera_stron bigint Liczba odczytów stron wykonanych przez serwer stron podczas ostatniego uruchomienia wyzwalacza.

Dotyczy: Hiperskala usługi Azure SQL Database
min_page_server_reads bigint Minimalna liczba odczytów serwera stron, jaką ten wyzwalacz kiedykolwiek wykonał podczas jednego wykonania.

Dotyczy: Hiperskala usługi Azure SQL Database
max_page_server_reads bigint Maksymalna liczba odczytów serwera stron, jaką ten wyzwalacz kiedykolwiek wykonał podczas jednego wykonania.

Dotyczy: Hiperskala usługi Azure SQL Database

Uwagi

W bazie danych SQL dynamiczne widoki zarządzania nie mogą ujawniać informacji, które mogłyby wpłynąć na zawartość bazy danych ani ujawniać informacji o innych bazach danych, do których użytkownik ma dostęp. Aby uniknąć ujawniania tych informacji, każdy wiersz zawierający dane, które nie należą do połączonej dzierżawy, jest filtrowany.

Statystyki w widoku są aktualizowane po zakończeniu zapytania.

Permissions

W programie SQL Server i usłudze SQL Managed Instance wymagane jest VIEW SERVER STATE uprawnienie.

W przypadku celów usługi SQL Database Basic, S0 i S1 oraz baz danych w elastycznych pulach wymagane jest konto administratora serwera , konto administratora firmy Microsoft Entra lub członkostwo w ##MS_ServerStateReader##roli serwera . We wszystkich innych celach usługi SQL Database wymagane VIEW DATABASE STATE jest uprawnienie do bazy danych lub członkostwo w ##MS_ServerStateReader## roli serwera.

Uprawnienia dla programu SQL Server 2022 i nowszych

Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.

Przykłady

Poniższy przykład zwraca informacje o pięciu najważniejszych wyzwalaczach, zidentyfikowanych przez średni upływ czasu.

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;  

Zobacz też

Dynamiczne widoki zarządzania i funkcje związane z wykonywaniem (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)