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í na: SQL Server 2016 (13.x) a novější verze
Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
Vrátí agregovanou statistiku výkonu pro funkce uložené v mezipaměti. Zobrazení vrátí jeden řádek pro každý plán funkce uložené v mezipaměti a doba života řádku je stejná, dokud funkce zůstane uložená v mezipaměti. Při odebrání funkce z mezipaměti se z tohoto zobrazení odstraní odpovídající řádek. V té době je událost trasování SQL statistik výkonu vyvolána podobně jako sys.dm_exec_query_stats. Vrátí informace o skalárních funkcích, včetně funkcí v paměti a skalárních funkcí CLR. Nevrací informace o funkcích s hodnotami tabulky a o skalárních funkcích, které jsou vloženy pomocí inliningu skalárního UDF.
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 zabránilo zveřejnění těchto informací, vyfiltruje se každý řádek obsahující data, která nepatří do připojeného tenanta.
Poznámka:
Výsledky sys.dm_exec_function_stats se můžou lišit při každém spuštění, protože data odrážejí pouze dokončené dotazy, a ne ty, které jsou stále v letu.
| Název sloupce | Datový typ | Description |
|---|---|---|
| database_id | int | ID databáze, ve kterém se funkce 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 objektu funkce. |
| type | char(2) | Typ objektu: FN = skalární hodnotné funkce |
| type_desc | nvarchar(60) | Popis typu objektu: SQL_SCALAR_FUNCTION |
| sql_handle | varbinary(64) | Dá se použít ke korelaci s dotazy v sys.dm_exec_query_stats , které byly provedeny z této funkce. |
| 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. Bude vždy 0x000, když nativně zkompilovaná funkce dotazuje tabulku optimalizovanou pro paměť. |
| cached_time | datetime | Čas přidání funkce do mezipaměti |
| poslední_čas_spuštění | datetime | Čas posledního spuštění funkce |
| počet_provedení | bigint | Počet spuštění funkce od poslední kompilace. |
| celkový_čas_pracovníka | bigint | Celková doba procesoru v mikrosekundách, která byla spotřebována spuštěním této funkce od kompilace. U nativně kompilovaných funkcí nemusí být total_worker_time přesné, pokud mnoho spuštění trvá méně než 1 milisekundu. |
| last_worker_time | bigint | Čas procesoru v mikrosekundách, který byl spotřebován při posledním spuštění funkce. 1 |
| min_worker_time | bigint | Minimální doba procesoru v mikrosekundách, kterou tato funkce kdy spotřebovala během jednoho spuštění. 1 |
| max_worker_time | bigint | Maximální doba procesoru v mikrosekundách, kterou tato funkce kdy spotřebovala během jednoho spuštění. 1 |
| celkový_počet_fyzických_čtení | bigint | Celkový počet fyzických čtení provedených spuštěním této funkce od kompilace. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| poslední_fyzické_čtení | bigint | Počet fyzických čtení provedených při posledním spuštění funkce. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| min_physical_reads | bigint | Minimální počet fyzických čtení, které tato funkce kdy provedla během jednoho spuštění. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| max_physical_reads | bigint | Maximální počet fyzických čtení, které tato funkce kdy provedla během jednoho spuštění. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| total_logical_writes | bigint | Celkový počet logických zápisů provedených spuštěním této funkce od kompilace. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| poslední_logické_zápisy | bigint | Počet stránek fondu vyrovnávací paměti, které se při posledním provedení plánu pošpinily. Pokud je stránka již zašpiněná (změněna), nebudou se počítat žádné zápisy. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| min_logical_writes | bigint | Minimální počet logických zápisů, které tato funkce kdy prováděla během jednoho spuštění. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| max_logický_zápis | bigint | Maximální počet logických zápisů, které tato funkce kdy provedla během jednoho spuštění. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| total_logical_reads | bigint | Celkový počet logických čtení provedených spuštěním této funkce od kompilace. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| poslední_logické_čtení | bigint | Počet logických čtení provedených při posledním spuštění funkce. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| min_logical_reads | bigint | Minimální počet logických čtení, které kdy tato funkce provedla během jednoho spuštění. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| max_logical_reads | bigint | Maximální počet logických čtení, která tato funkce kdy provedla během jednoho vykonání. Bude vždy 0 při dotazování na paměťově optimalizovanou tabulku. |
| total_elapsed_time | bigint | Celkový uplynulý čas v mikrosekundách pro dokončená spuštění této funkce. |
| poslední_uběhnutý_čas | bigint | Uplynulý čas v mikrosekundách pro naposledy dokončené provedení této funkce |
| minimální_uběhlý_čas | bigint | Minimální uplynulý čas v mikrosekundách pro jakékoli dokončené spuštění této funkce. |
| max_doba_trvání | bigint | Maximální uplynulý čas v mikrosekundách pro jakékoli dokončení provádění této funkce. |
| total_page_server_reads | bigint | Celkový počet čtení stránkového serveru provedených spuštěním této funkce od kompilace. Platí pro: Azure SQL Database Hyperscale |
| poslední_čtení_stránky_serveru | bigint | Počet přečtení serverových stránek, který byl proveden při posledním spuštění funkce. Platí pro: Azure SQL Database Hyperscale |
| min_page_server_reads | bigint | Minimální počet čtení serveru, které tato funkce kdy provedla během jednoho spuštění. Platí pro: Azure SQL Database Hyperscale |
| max_page_server_reads | bigint | Maximální počet načtení stránkového serveru, které tato funkce kdy provedla během jednoho spuštění. Platí pro: Azure SQL Database Hyperscale |
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 vrátí informace o prvních deseti funkcích identifikovaných podle průměrného uplynulého času.
SELECT TOP 10 d.object_id, d.database_id, OBJECT_NAME(object_id, database_id) 'function 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_function_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_query_stats (Transact-SQL)
sys.dm_exec_trigger_stats (Transact-SQL)
sys.dm_exec_procedure_stats (Transact-SQL)