Sdílet prostřednictvím


sys.dm_exec_trigger_stats (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Vrací agregované výkonnostní statistiky pro cacheované spouštěče. Pohled obsahuje jeden řádek na každý trigger a životnost řádku je tak dlouhá, dokud spoušť zůstává uložena v cache. Když je spouštěč odstraněn z cache, odpovídající řádek je z tohoto pohledu odstraněn. V té době je událost trasování SQL statistik výkonu vyvolána podobně jako sys.dm_exec_query_stats.

Název sloupce Datový typ Description
database_id int ID databáze, ve kterém se spoušť nachází.

Ve službě Azure SQL Database jsou hodnoty jedinečné v rámci jedné databáze nebo elastického fondu, ale ne v rámci logického serveru.
object_id int Identifikační číslo spouště objektu.
type char(2) Typ objektu:

TA = Spouštěč Assembly (CLR)

TR = SQL trigger
Type_desc nvarchar(60) Popis typu objektu:

CLR_TRIGGER

SQL_TRIGGER
sql_handle varbinary(64) To lze použít ke korelaci s dotazy v sys.dm_exec_query_stats , které byly provedeny přímo v tomto triggeru.
plan_handle varbinary(64) Identifikátor plánu v paměti. Tento identifikátor je přechodný a zůstává konstantní pouze v době, kdy plán zůstává v mezipaměti. Tuto hodnotu lze použít s sys.dm_exec_cached_plans zobrazením dynamické správy.
cached_time datetime Čas, kdy byl spouštěč přidán do cache.
poslední_čas_spuštění datetime Minule, kdy byl spouštěč proveden.
počet_provedení bigint Počet spouštěčů, které byl spuštěn od posledního zkompilování.
celkový_čas_pracovníka bigint Celkový čas CPU, v mikrosekundách, který byl spotřebován vykonáním tohoto spouštěče od jeho kompilace.
last_worker_time bigint CPU čas v mikrosekundách, který byl spotřebován při posledním spuštění spouště.
min_worker_time bigint Maximální čas CPU, v mikrosekundách, který tento spouštěč kdy během jednoho spuštění spotřeboval.
max_worker_time bigint Maximální čas CPU, v mikrosekundách, který tento spouštěč kdy během jednoho spuštění spotřeboval.
celkový_počet_fyzických_čtení bigint Celkový počet fyzických čtení provedených při spuštění tohoto spouštěče od jeho kompilace.
poslední_fyzické_čtení bigint Počet fyzických čtení provedených při posledním spuštění spouště.
min_physical_reads bigint Minimální počet fyzických čtení, které tento spouštěč kdy provedl během jednoho provedení.
max_physical_reads bigint Maximální počet fyzických čtení, které tento spouštěč kdy provedl během jednoho provedení.
total_logical_writes bigint Celkový počet logických zápisů provedených při vykonání tohoto triggeru od jeho kompilace.
poslední_logické_zápisy bigint Počet logických zápisů provedených při posledním spuštění spouštěče.
min_logical_writes bigint Minimální počet logických zápisů, které tento spouštěč kdy provedl během jednoho vykonání.
max_logický_zápis bigint Maximální počet logických zápisů, které tento spouštěč kdy provedl během jednoho vykonání.
total_logical_reads bigint Celkový počet logických čtení provedených při vykonání tohoto triggeru od jeho kompilace.
poslední_logické_čtení bigint Počet logických čtení provedených při posledním spuštění spouštěče.
min_logical_reads bigint Minimální počet logických čtení, které tento spouštěč kdy provedl během jednoho vykonání.
max_logical_reads bigint Maximální počet logických přečtení, které tento spouštěč kdy provedl během jednoho vykonání.
total_elapsed_time bigint Celkový uplynulý čas v mikrosekundách pro dokončení tohoto spouštěče.
poslední_uběhnutý_čas bigint Uplynul čas v mikrosekundách pro poslední dokončené spuštění tohoto spouštěče.
minimální_uběhlý_čas bigint Minimální uplynulý čas, v mikrosekundách, pro jakékoli dokončené provedení tohoto spouštěče.
max_doba_trvání bigint Maximální uplynulý čas, v mikrosekundách, pro jakékoli dokončené provedení tohoto spouštěče.
total_spills bigint Celkový počet stránek vypuštěných při spuštění tohoto triggeru od jeho zkompilace.

Platí na: Začínám SQL Server 2017 (14.x) CU3
last_spills bigint Počet vysypaných stránek při posledním spuštění spouště.

Platí na: Začínám SQL Server 2017 (14.x) CU3
min_spills bigint Minimální počet stránek, které tento spouštěč kdy během jedné exekuce vyvolal.

Platí na: Začínám SQL Server 2017 (14.x) CU3
max_spills bigint Maximální počet stránek, které tento spouštěč kdy během jedné exekuce vyvolal.

Platí na: Začínám SQL Server 2017 (14.x) CU3
total_page_server_reads bigint Celkový počet přečtených stránek na serveru provedených při spuštění tohoto spouštěče od jeho kompilace.

Platí pro: Azure SQL Database Hyperscale
poslední_čtení_stránky_serveru bigint Počet čtení stránky na serveru provedených při posledním spuštění spouštěče.

Platí pro: Azure SQL Database Hyperscale
min_page_server_reads bigint Minimální počet přečtených stránek serveru, který tento spouštěč kdy provedl během jednoho vykonání.

Platí pro: Azure SQL Database Hyperscale
max_page_server_reads bigint Maximální počet čtení stránkového serveru, jaký tento spouštěč kdy provedl během jednoho vykonání.

Platí pro: Azure SQL Database Hyperscale

Poznámky

V SQL databázi dynamické zobrazení správy nemohou zveřejňovat informace, které by ovlivnily obsah databáze, nebo informace o jiných databázích, ke kterým má uživatel přístup. Aby se zabránilo zveřejnění těchto informací, vyfiltruje se každý řádek obsahující data, která nepatří do připojeného tenanta.

Statistiky ve zobrazení se aktualizují po dokončení dotazu.

Povolení

Na SQL Serveru a službě SQL Managed Instance vyžaduje VIEW SERVER STATE oprávnění.

U cílů služby SQL Database Basic, S0 a S1 a pro databáze v elastických fondech se vyžaduje účet správce serveru , účet správce Microsoft Entra nebo členství v ##MS_ServerStateReader##roli serveru . U všech ostatních cílů VIEW DATABASE STATE služby SQL Database se vyžaduje buď oprávnění k databázi, nebo členství v ##MS_ServerStateReader## roli serveru.

Oprávnění pro SQL Server 2022 a novější

Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU SERVERU na serveru.

Examples

Následující příklad vrací informace o pěti největších spouštěčích identifikovaných průměrným uplynulým časem.

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;  

Viz také

zobrazení a funkce související se spouštěním dynamické správy (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)