Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
databáze SQL v Microsoft Fabric
Vrací řádek pro každý plán dotazů, který je uložen v SQL Serveru pro rychlejší provádění dotazů. Tento dynamický pohled správy můžete použít k nalezení cacheovaných plánů dotazů, cacheovaných textů dotazů, množství paměti zabírané cacheovanými plány a počtu opakovaných použití cacheovaných plánů.
V Azure SQL Database nemůžou zobrazení dynamické správy zveřejnit informace, které by ovlivnily zahrnutí databáze nebo zpřístupňují informace o jiných databázích, ke kterým má uživatel přístup. Aby se předešlo vystavení těchto informací, je filtrován každý řádek obsahující data, která nepatří připojenému tenantovi. Kromě toho jsou hodnoty ve sloupcích memory_object_address a pool_id filtrovány; hodnota sloupce je nastavena na NULL.
Poznámka:
Pokud to chcete volat ze služby Azure Synapse Analytics nebo systému PDW (Analytics Platform System), použijte název sys.dm_pdw_nodes_exec_cached_plans. Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.
| Název sloupce | Datový typ | Description |
|---|---|---|
| bucketid | int | ID hashovacího kbelíku, ve kterém je záznam uložen. Hodnota označuje rozsah od 0 až po velikost hashovací tabulky pro typ cache. Pro cache SQL Plans a Object Plans může být velikost hash tabulky až 10007 na 32bitových systémech a až 40009 na 64bitových systémech. Pro cache Bound Trees může velikost hashovací tabulky být až 1009 na 32bitových systémech a až 4001 na 64bitových systémech. Pro cache Extended Stored Procedures může velikost hashovací tabulky být až 127 na 32bitových a 64bitových systémech. |
| Refcounty | int | Počet cache objektů, které odkazují na tento cache objekt. Počet referencí musí být alespoň 1, aby se záznam mohl nacházet v cache. |
| Počet použití | int | Počet vyhledávání objektu cache. Nezvyšuje to, když parametrizované dotazy najdou plán v cache. Při použití showplanu lze to několikrát zvýšit. |
| size_in_bytes | int | Počet bajtů spotřebovaných objektem cache. |
| memory_object_address | varbinary(8) | Paměťová adresa uloženého záznamu. Tuto hodnotu lze použít s sys.dm_os_memory_objects k získání rozdělení paměti cacheovaného plánu a s sys.dm_os_memory_cache_entries_entries pro získání nákladů na cachování záznamu. |
| cacheobjtype | nvarchar(34) | Typ objektu v cache. Hodnota může být jedna z následujících možností: Zkompilovaný plán Zkompilovaný plánový stub Strom parse Rozšířený proces CLR Kompilovaný Func CLR Compiled Proc |
| Objtype | nvarchar(16) | Typ objektu. Níže jsou uvedeny možné hodnoty a jejich odpovídající popisy. Proc: Uložená procedura Připraveno: Připravené prohlášení Adhoc: Ad hoc dotaz. Označuje Transact-SQL zasílané jako jazykové události pomocí oSQL nebo sqlcmd místo vzdálených volání procedur. ReplProc: Replikace-filtr-procedura Spouštěč: Spouštěč Zobrazit: Zobrazit Výchozí: Výchozí UsrTab: Uživatelská tabulka SysTab: Systémová tabulka Check: CHECK omezení Pravidlo: Pravidlo |
| 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. Tato hodnota může být použita s následujícími dynamickými správcovskými funkcemi: sys.dm_exec_sql_text sys.dm_exec_query_plan sys.dm_exec_plan_attributes |
| pool_id | int | ID zdrojového fondu, proti kterému je tato paměťová spotřeba plánu zohledněna. |
| pdw_node_id | int |
Platí na: Azure Synapse Analytics, Analytics Platform System (PDW) Identifikátor uzlu, na který je tato distribuce zapnutá. |
1
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
A. Vrácení dávkového textu uložených položek, které jsou znovu použity
Následující příklad vrací SQL text všech uložených záznamů, které byly použity vícekrát.
SELECT usecounts, cacheobjtype, objtype, text
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle)
WHERE usecounts > 1
ORDER BY usecounts DESC;
GO
B. Vracení plánů dotazů pro všechny cacheované triggery
Následující příklad vrací plány dotazů všech cacheovaných spouštěčů.
SELECT plan_handle, query_plan, objtype
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_query_plan(plan_handle)
WHERE objtype ='Trigger';
GO
C. Vrácení možností SET, se kterými byl plán sestaven
Následující příklad vrací možnosti SET, se kterými byl plán zkompilován. Plán sql_handle je také vrácen. Operátor PIVOT se používá k výstupu atributů set_options a sql_handle jako sloupců místo jako řádků. Pro více informací o hodnotě vrácené v set_options, viz sys.dm_exec_plan_attributes (Transact-SQL).
SELECT plan_handle, pvt.set_options, pvt.sql_handle
FROM (
SELECT plan_handle, epa.attribute, epa.value
FROM sys.dm_exec_cached_plans
OUTER APPLY sys.dm_exec_plan_attributes(plan_handle) AS epa
WHERE cacheobjtype = 'Compiled Plan'
) AS ecpa
PIVOT (MAX(ecpa.value) FOR ecpa.attribute IN ("set_options", "sql_handle")) AS pvt;
GO
D. Vrácení rozpisu všech zkompilovaných plánů v cache
Následující příklad vrací rozpis paměti používané všemi zkompilovanými plány v cache.
SELECT plan_handle, ecp.memory_object_address AS CompiledPlan_MemoryObject,
omo.memory_object_address, type, page_size_in_bytes
FROM sys.dm_exec_cached_plans AS ecp
JOIN sys.dm_os_memory_objects AS omo
ON ecp.memory_object_address = omo.memory_object_address
OR ecp.memory_object_address = omo.parent_address
WHERE cacheobjtype = 'Compiled Plan';
GO
Viz také
Zobrazení a funkce dynamické správy (Transact-SQL)
zobrazení a funkce související se spouštěním dynamické správy (Transact-SQL)
sys.dm_exec_plan_attributes (Transact-SQL)
sys.dm_os_memory_objects (Transact-SQL)
sys.dm_os_memory_cache_entries (Transact-SQL)
FROM (Transact-SQL)