Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x) en latere versies
van Azure SQL Database
Azure SQL Managed Instance
Retourneert statistische prestatiestatistieken voor functies in de cache. De weergave retourneert één rij voor elk functieplan in de cache en de levensduur van de rij is zolang de functie in de cache blijft. Wanneer een functie uit de cache wordt verwijderd, wordt de bijbehorende rij uit deze weergave verwijderd. Op dat moment wordt er een SQL-tracerings gebeurtenis voor prestatiestatistieken gegenereerd die vergelijkbaar is met sys.dm_exec_query_stats. Retourneert informatie over scalaire functies, waaronder in-memory functies en CLR scalaire functies. Retourneert geen informatie over tabelwaardefuncties en over scalaire functies die zijn inlined met Scalar UDF Inlining.
In Azure SQL Database kunnen dynamische beheerweergaven geen informatie weergeven die van invloed is op databaseinsluiting of informatie weergeven over andere databases waartoe de gebruiker toegang heeft. Om te voorkomen dat deze informatie zichtbaar wordt gemaakt, wordt elke rij met gegevens die geen deel uitmaken van de verbonden tenant uitgefilterd.
Opmerking
De resultaten van sys.dm_exec_function_stats kunnen per uitvoering variëren, omdat de gegevens alleen voltooide query's weerspiegelen en niet de gegevens die nog in de vlucht zijn.
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
| database_id | int | Database-id waarin de functie zich bevindt. In Azure SQL Database zijn de waarden uniek binnen één database of een elastische pool, maar niet binnen een logische server. |
| object_id | int | Objectidentificatienummer van de functie. |
| type | char(2) | Type van het object: FN = Scalaire waardefuncties |
| type_desc | nvarchar(60) | Beschrijving van het objecttype: SQL_SCALAR_FUNCTION |
| sql_handle | varbinary(64) | Dit kan worden gebruikt om te correleren met query's in sys.dm_exec_query_stats die vanuit deze functie zijn uitgevoerd. |
| plan_handle | varbinary(64) | Identificator voor het in-memory plan. Deze id is tijdelijk en blijft alleen constant terwijl het plan in de cache blijft. Deze waarde kan worden gebruikt met de sys.dm_exec_cached_plans dynamische beheerweergave. Wordt altijd 0x000 wanneer een systeemeigen gecompileerde functie een tabel opvraagt die is geoptimaliseerd voor geheugen. |
| gecachede_tijd | datetime | Tijdstip waarop de functie is toegevoegd aan de cache. |
| laatste_uitvoertijd | datetime | De laatste keer waarop de functie is uitgevoerd. |
| execution_count | bigint | Aantal keren dat de functie is uitgevoerd sinds deze voor het laatst is gecompileerd. |
| total_worker_time | bigint | Totale hoeveelheid CPU-tijd, in microseconden, die is verbruikt door uitvoeringen van deze functie sinds deze is gecompileerd. Voor systeemeigen gecompileerde functies is total_worker_time mogelijk niet nauwkeurig als veel uitvoeringen minder dan 1 milliseconden duren. |
| laatste_werknemerstijd | bigint | CPU-tijd, in microseconden, die de laatste keer dat de functie werd uitgevoerd, werd verbruikt. 1 |
| min_worker_time | bigint | Minimale CPU-tijd, in microseconden, die deze functie ooit heeft verbruikt tijdens één uitvoering. 1 |
| max_worker_time | bigint | Maximale CPU-tijd, in microseconden, die deze functie ooit heeft verbruikt tijdens één uitvoering. 1 |
| total_physical_reads | bigint | Totaal aantal fysieke leesbewerkingen uitgevoerd door uitvoeringen van deze functie sinds deze is gecompileerd. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| last_physical_reads | bigint | Het aantal fysieke leesbewerkingen dat de laatste keer is gedaan dat de functie werd uitgevoerd. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| min_physical_reads | bigint | Minimaal aantal fysieke leesbewerkingen dat deze functie ooit heeft uitgevoerd tijdens één uitvoering. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| max_physical_reads | bigint | Maximum aantal fysieke leesbewerkingen dat deze functie ooit heeft uitgevoerd tijdens één uitvoering. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| total_logical_writes | bigint | Totaal aantal logische schrijfbewerkingen uitgevoerd door uitvoeringen van deze functie sinds deze is gecompileerd. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| laatste_logische_schrijvingen | bigint | Het aantal bufferpoolpagina's dat de laatste keer dat het plan werd uitgevoerd, vervuild was. Als een pagina al vuil (gewijzigd) is, worden er geen schrijfbewerkingen geteld. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| min_logical_writes | bigint | Minimaal aantal logische schrijfbewerkingen dat deze functie ooit heeft uitgevoerd tijdens één uitvoering. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| max_logical_writes | bigint | Maximum aantal logische schrijfbewerkingen dat deze functie ooit heeft uitgevoerd tijdens één uitvoering. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| total_logical_reads | bigint | Totaal aantal logische leesbewerkingen uitgevoerd door uitvoeringen van deze functie sinds deze is gecompileerd. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| last_logical_reads | bigint | Het aantal logische leesbewerkingen dat de laatste keer is uitgevoerd wanneer de functie werd aangeroepen. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| min_logical_reads | bigint | Minimaal aantal logische leesbewerkingen dat deze functie ooit heeft uitgevoerd tijdens één uitvoering. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| max_logical_reads | bigint | Maximum aantal logische leesbewerkingen dat deze functie ooit heeft uitgevoerd tijdens één uitvoering. Zal altijd 0 query's uitvoeren op een tabel die is geoptimaliseerd voor geheugen. |
| total_elapsed_time | bigint | Totale verstreken tijd, in microseconden, voor voltooide uitvoeringen van deze functie. |
| laatste_verstreken_tijd | bigint | Verstreken tijd, in microseconden, voor de laatst voltooide uitvoering van deze functie. |
| min_elapsed_time | bigint | Minimale verstreken tijd, in microseconden, voor elke voltooide uitvoering van deze functie. |
| max_verstreken_tijd | bigint | Maximale verstreken tijd, in microseconden, voor elke voltooide uitvoering van deze functie. |
| total_page_server_reads | bigint | Totaal aantal paginaserverleesbewerkingen uitgevoerd door uitvoeringen van deze functie sinds deze is gecompileerd. Van toepassing op: Azure SQL Database Hyperscale. |
| last_page_server_reads | bigint | Aantal paginaserverleesbewerkingen uitgevoerd de laatste keer dat de functie is uitgevoerd. Van toepassing op: Azure SQL Database Hyperscale. |
| min_page_server_reads | bigint | Minimaal aantal paginaservers leest dat deze functie ooit is uitgevoerd tijdens één uitvoering. Van toepassing op: Azure SQL Database Hyperscale. |
| max_page_server_reads | bigint | Het maximum aantal paginaservers leest dat deze functie ooit is uitgevoerd tijdens één uitvoering. Van toepassing op: Azure SQL Database Hyperscale. |
Permissions
Voor SQL Server en SQL Managed Instance is een machtiging vereist VIEW SERVER STATE .
Voor servicedoelstellingen van SQL Database Basic, S0 en S1 en voor databases in elastische pools is het serverbeheerdersaccount , het Microsoft Entra-beheerdersaccount of het lidmaatschap van de ##MS_ServerStateReader##serverrol vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader## serverfunctie vereist.
Machtigingen voor SQL Server 2022 en hoger
Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.
Voorbeelden
In het volgende voorbeeld wordt informatie geretourneerd over de tien belangrijkste functies, geïdentificeerd op basis van de gemiddelde verstreken tijd.
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;
Zie ook
uitvoeringsgerelateerde dynamische beheerweergaven en -functies (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)