Megosztás a következőn keresztül:


sys.dm_exec_function_stats (Transact-SQL)

Vonatkozik a következőkre: SQL Server 2016 (13.x) és későbbi verziók Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

A gyorsítótárazott függvények összesített teljesítménystatisztikáit adja vissza. A nézet minden gyorsítótárazott függvénytervhez egy sort ad vissza, a sor élettartama pedig addig tart, amíg a függvény gyorsítótárazva marad. Ha egy függvényt eltávolít a gyorsítótárból, a megfelelő sor ki lesz távolítva ebből a nézetből. Ekkor a teljesítménystatisztika SQL-nyomkövetési eseménye a sys.dm_exec_query_stats-hoz hasonlóan jön létre. Információkat ad vissza a skaláris függvényekről, beleértve a memóriában lévő függvényeket és a CLR skaláris függvényeket. Nem ad vissza információt a táblaértékelő függvényekről és a skaláris függvényekről, amelyek beágyazottak a Skaláris UDF-aláhúzással.

Az Azure SQL Database-ben a dinamikus felügyeleti nézetek nem tehetnek közzé olyan információkat, amelyek hatással lennének az adatbázis-elszigetelésre, vagy nem tehetnek közzé információkat más olyan adatbázisokról, amelyekhez a felhasználó hozzáfér. Az információk felfedésének elkerülése érdekében a rendszer kiszűr minden olyan sort, amely nem a csatlakoztatott bérlőhöz tartozó adatokat tartalmaz.

Megjegyzés:

A sys.dm_exec_function_stats eredményei az egyes végrehajtások függvényében változhatnak, mivel az adatok csak a befejezett lekérdezéseket tükrözik, a még folyamatban lévőket nem.

Oszlop név Adattípus Description
database_id int Adatbázis-azonosító, amelyben a függvény található.

Az Azure SQL Database-ben az értékek egyediek egyetlen adatbázisban vagy rugalmas készletben, de nem logikai kiszolgálón belül.
object_id int A függvény objektumazonosítási száma.
type char(2) Az objektum típusa: FN = Skaláris értékű függvények
type_desc nvarchar(60) Az objektumtípus leírása: SQL_SCALAR_FUNCTION
sql_handle varbinary(64) Ezzel korrelálhat a függvényen belül végrehajtott sys.dm_exec_query_stats lekérdezéseivel.
plan_handle varbinary(64) A memóriabeli terv azonosítója. Ez az azonosító átmeneti, és csak addig marad állandó, amíg a terv a gyorsítótárban marad. Ez az érték a sys.dm_exec_cached_plans dinamikus felügyeleti nézettel használható.

Mindig 0x000 lesz, ha egy natívan lefordított függvény lekérdez egy memóriaoptimalizált táblát.
cached_time datetime A függvény gyorsítótárhoz való hozzáadásának időpontja.
utolsó_végrehajtási_idő datetime A függvény végrehajtásának utolsó időpontja.
végrehajtások_száma bigint A függvény végrehajtásának száma a legutóbbi fordítás óta.
teljes_dolgozói_idő bigint A függvény végrehajtása során felhasznált processzoridő teljes mennyisége mikroszekundumokban, a fordítás óta.

Natívan lefordított függvények esetén előfordulhat, hogy total_worker_time nem pontosak, ha sok végrehajtás kevesebb mint 1 ezredmásodpercet vesz igénybe.
last_worker_time bigint A függvény utolsó végrehajtásakor felhasznált processzoridő mikroszekundumokban. 1
min_worker_time bigint Minimális processzorhasználati idő mikroszekundumokban, amelyeket ez a függvény valaha is felhasznált egyetlen végrehajtás során. 1
max_worker_time bigint A maximális processzorhasználati idő mikroszekundumokban, amelyeket ez a függvény valaha is felhasznált egyetlen végrehajtás során. 1
összes_fizikai_olvasás bigint A függvény végrehajtások által végrehajtott fizikai olvasások teljes száma a lefordítása óta.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
utolsó fizikai olvasások bigint A függvény legutóbbi végrehajtásakor végrehajtott fizikai olvasások száma.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
minimális fizikai olvasások bigint A függvény által egyetlen végrehajtás során valaha végrehajtott fizikai olvasások minimális száma.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
max_physical_reads bigint A függvény által egyetlen végrehajtás során valaha végrehajtott fizikai olvasások maximális száma.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
total_logikai_írások bigint A függvény végrehajtásainak végrehajtott logikai írások teljes száma a fordítási folyamat óta.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
utolsó_logikai_írások bigint Azon pufferkészletoldalak száma, amelyek a terv legutóbbi végrehajtásakor koszosodtak. Ha egy oldal már piszkos (módosított), a rendszer nem számol írásokat.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
minimális_logikai_írások bigint Azoknak a logikai írásoknak a minimális száma, amelyeket ez a függvény valaha is végrehajtott egyetlen végrehajtás során.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
max_logical_writes (maximális logikai írások) bigint Azoknak a logikai írásoknak a maximális száma, amelyeket ez a függvény valaha is végrehajtott egyetlen végrehajtás során.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
teljes_logikai_olvasások bigint A függvény fordítása óta végrehajtott végrehajtások által végrehajtott logikai olvasások teljes száma.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
last_logical_reads bigint A függvény legutóbbi végrehajtásakor végrehajtott logikai olvasások száma.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
min_logical_reads bigint Azoknak a logikai olvasásoknak a minimális száma, amelyeket ez a függvény valaha is végrehajtott egyetlen végrehajtás során.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
max_logical_reads bigint Azoknak a logikai olvasásoknak a maximális száma, amelyeket ez a függvény valaha is végrehajtott egyetlen végrehajtás során.

Egy memóriaoptimalizált tábla lekérdezésekor az érték mindig 0 lesz.
total_elapsed_time bigint A függvény befejezett végrehajtásához eltelt teljes idő mikroszekundumokban.
utolsó_eltelt_idő bigint A függvény legutóbbi végrehajtásához eltelt idő mikroszekundumokban.
minimális_eltelt_idő bigint Minimális eltelt idő mikroszekundumokban a függvény befejezett végrehajtásához.
max_elapsed_time bigint Maximális eltelt idő mikroszekundumokban a függvény befejezett végrehajtásához.
total_page_server_reads bigint A függvény fordítása óta végrehajtott lapkiszolgáló olvasások teljes száma.

A következőkre vonatkozik: Azure SQL Database Hyperscale.
utolsó_oldal_szerver_olvasások bigint A függvény legutóbbi végrehajtásakor végrehajtott oldalkiszolgálói olvasások száma.

A következőkre vonatkozik: Azure SQL Database Hyperscale.
min_page_server_reads (min. oldal szerver olvasások) bigint Az oldalkiszolgálók minimális száma azt olvassa fel, hogy ez a függvény valaha is végrehajtott egy végrehajtás során.

A következőkre vonatkozik: Azure SQL Database Hyperscale.
max_page_server_reads bigint Az egyetlen végrehajtás során valaha elért maximális oldalkiszolgálói olvasási szám, amelyet ez a függvény végrehajtott.

A következőkre vonatkozik: Azure SQL Database Hyperscale.

Permissions

Az SQL Serveren és a felügyelt SQL-példányon VIEW SERVER STATE engedély szükséges.

Az SQL Database Alapszintű, S0és S1 szolgáltatás célkitűzésein, valamint rugalmas készletekbenlévő adatbázisok esetében a kiszolgálói rendszergazdai fiókra, a Microsoft Entra rendszergazdai fiókra vagy a ##MS_ServerStateReader##kiszolgálói szerepkör tagságára van szükség. Az SQL Database szolgáltatás minden más célkitűzéséhez vagy az adatbázis VIEW DATABASE STATE engedélyére, vagy a ##MS_ServerStateReader## kiszolgálói szerepkör tagságára van szükség.

Engedélyek az SQL Server 2022-hez és újabb verziókhoz

A KISZOLGÁLÓ TELJESÍTMÉNYÁLLAPOTÁNAK MEGTEKINTÉSE engedélyre van szükség a kiszolgálón.

Példák

Az alábbi példa az átlagos eltelt idő alapján azonosított első tíz függvény adatait adja vissza.

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;  

Lásd még:

végrehajtással kapcsolatos dinamikus felügyeleti nézetek és függvények (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)