Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2016 (13.x) och senare versioner
Azure SQL Database
Azure SQL Managed Instance
Returnerar sammanställd prestandastatistik för cachelagrade funktioner. Vyn returnerar en rad för varje cachelagrad funktionsplan och radens livslängd är så länge funktionen förblir cachelagrad. När en funktion tas bort från cacheminnet tas motsvarande rad bort från den här vyn. Vid den tidpunkten genereras en SQL-spårningshändelse för prestandastatistik som liknar sys.dm_exec_query_stats. Returnerar information om skalärfunktioner, inklusive minnesinterna funktioner och CLR-skalärfunktioner. Returnerar inte information om tabellvärdesfunktioner och om skalärfunktioner som är inlindade med Scalar UDF-inlining.
I Azure SQL Database kan dynamiska hanteringsvyer inte exponera information som skulle påverka databasens inneslutning eller exponera information om andra databaser som användaren har åtkomst till. För att undvika att exponera den här informationen filtreras varje rad som innehåller data som inte tillhör den anslutna klientorganisationen bort.
Anmärkning
Resultatet av sys.dm_exec_function_stats kan variera med varje körning eftersom data endast återspeglar färdiga frågor och inte de som fortfarande är under flygning.
| Kolumnnamn | Datatyp | Description |
|---|---|---|
| database_id | int | Databas-ID där funktionen finns. I Azure SQL Database är värdena unika i en enskild databas eller en elastisk pool, men inte inom en logisk server. |
| object_id | int | Funktionens objektidentifieringsnummer. |
| type | char(2) | Typ av objekt: FN = Skalärvärdesfunktioner |
| type_desc | nvarchar(60) | Beskrivning av objekttypen: SQL_SCALAR_FUNCTION |
| sql_handle | varbinary(64) | Detta kan användas för att korrelera med frågor i sys.dm_exec_query_stats som kördes inifrån den här funktionen. |
| plan_handle | varbinary(64) | Identifierare för den minnesinterna planen. Den här identifieraren är tillfälligt och förblir endast konstant när planen finns kvar i cacheminnet. Det här värdet kan användas med sys.dm_exec_cached_plans dynamisk hanteringsvy. Kommer alltid att vara 0x000 när en internt kompilerad funktion frågar en minnesoptimerad tabell. |
| cached_time | datetime | Tidpunkt då funktionen lades till i cacheminnet. |
| senaste_verkställningstid | datetime | Senaste gången som funktionen kördes. |
| execution_count | bigint | Antal gånger som funktionen har körts sedan den senast kompilerades. |
| total_worker_time | bigint | Totala mängden CPU-tid, i mikrosekunder, som har förbrukats av körningar av den här funktionen sedan den kompilerades. För inbyggda kompilerade funktioner kanske total_worker_time inte är korrekt om många körningar tar mindre än 1 millisekund. |
| senaste_arbetstid | bigint | CPU-tid, i mikrosekunder, som förbrukades förra gången funktionen kördes. 1 |
| min_worker_time | bigint | Minsta CPU-tid i mikrosekunder som den här funktionen någonsin har använt under en enda körning. 1 |
| max_worker_time | bigint | Maximal CPU-tid, i mikrosekunder, som den här funktionen någonsin har förbrukat under en enda körning. 1 |
| total_physical_reads | bigint | Totalt antal fysiska läsningar som utförts av körningar av den här funktionen sedan den kompilerades. Kommer alltid att vara 0 när man frågar en minnesoptimerad tabell. |
| last_physical_reads | bigint | Antal fysiska läsningar som utfördes förra gången funktionen kördes. Blir alltid 0 vid frågor mot en minnesoptimerad tabell. |
| min_physical_reads | bigint | Minsta antal fysiska läsningar som den här funktionen någonsin har utfört under en enda exekvering. Kommer alltid att vara 0 vid förfrågningar mot en minnesoptimerad tabell. |
| max_physical_reads | bigint | Maximalt antal fysiska läsningar som den här funktionen någonsin har utfört under en enda körning. Kommer alltid att vara 0 när man frågar en minnesoptimerad tabell. |
| total_logical_writes | bigint | Totalt antal logiska skrivningar som utförts av körningar av den här funktionen sedan den kompilerades. Kommer alltid att vara 0 när man frågar en minnesoptimerad tabell. |
| senaste_logiska_skrivningar | bigint | Antal buffertpoolsidor som grusades förra gången planen kördes. Om en sida redan är smutsig (ändrad) räknas inga skrivningar. Kommer alltid att vara 0 vid frågning av en minnesoptimerad tabell. |
| min_logical_writes | bigint | Minsta antal logiska skrivningar som den här funktionen någonsin har utfört under en enda körning. Kommer alltid att vara 0 för en minnesoptimerad tabell. |
| max_logical_writes | bigint | Maximalt antal logiska skrivningar som den här funktionen någonsin har utfört under en enda körning. Kommer alltid att vara 0 och köra frågor mot en minnesoptimerad tabell. |
| total_logical_reads (totalt logiska läsningar) | bigint | Totalt antal logiska läsningar som utförts av exekveringar av den här funktionen, sedan den kompilerades. Kommer alltid att vara 0 när man kör frågor mot en minnesoptimerad tabell. |
| last_logical_reads | bigint | Antal logiska läsningar som utfördes senast funktionen kördes. Kommer alltid att vara 0 vid förfrågningar mot en minnesoptimerad tabell. |
| min_logical_reads | bigint | Minsta antal logiska läsningar som den här funktionen någonsin har utfört under en enda körning. Kommer alltid att vara 0 när man frågar efter en minnesoptimerad tabell. |
| max_logical_reads | bigint | Maximalt antal logiska läsningar som den här funktionen någonsin har utfört under en enda körning. Kommer alltid att vara 0 när man frågar en minnesoptimerad tabell. |
| total_elapsed_time | bigint | Total förfluten tid, i mikrosekunder, för avslutade exekveringar av den här funktionen. |
| senaste_förfluten_tid | bigint | Förfluten tid i mikrosekunder för den senaste slutförda körningen av den här funktionen. |
| min_elapsed_time | bigint | Minsta möjliga förflutna tid, i mikrosekunder, för varje slutförd exekvering av den här funktionen. |
| max_tidsmängd | bigint | Maximal förfluten tid, i mikrosekunder, för en slutförd körning av den här funktionen. |
| total_page_server_reads | bigint | Totalt antal lästa sidor från servern som har gjorts av exekveringar av den här funktionen sedan den kompilerades. Gäller för: Hyperskala för Azure SQL Database. |
| last_page_server_reads | bigint | Antal sidserverläsningar som utfördes senast funktionen kördes. Gäller för: Hyperskala för Azure SQL Database. |
| min_page_server_reads | bigint | Minsta antal sidserverläsningar som den här funktionen någonsin har utfört under en enda körning. Gäller för: Hyperskala för Azure SQL Database. |
| max_page_server_reads | bigint | Maximalt antal sidserverläsningar som den här funktionen någonsin har utfört under en enda körning. Gäller för: Hyperskala för Azure SQL Database. |
Permissions
På SQL Server och SQL Managed Instance kräver VIEW SERVER STATE behörighet.
I SQL Database Grundläggande, S0och S1 tjänstmål och för databaser i elastiska pooler, serveradministratör konto, Microsoft Entra-administratör konto eller medlemskap i ##MS_ServerStateReader##serverrollen krävs. För alla andra SQL Database-tjänstmål krävs antingen VIEW DATABASE STATE behörighet för databasen eller medlemskap i ##MS_ServerStateReader## serverrollen.
Behörigheter för SQL Server 2022 och senare
Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.
Examples
I följande exempel returneras information om de tio främsta funktionerna som identifieras med genomsnittlig förfluten tid.
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;
Se även
Körningsrelaterade vyer och funktioner för dynamisk hantering (Transact-SQL)
sys.dm_exec_sql_text (Transact-SQL)
sys.dm_exec_query_stats (Transact-SQL)
sys.dm_exec_trigger_stats (Transact-SQL)
sys.dm_exec_procedure_stats (Transact-SQL)