Aracılığıyla paylaş


sys.dm_exec_function_stats (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Önbelleğe alınan işlevler için toplam performans istatistiklerini döndürür. Görünüm, önbelleğe alınan her işlev planı için bir satır döndürür ve işlev önbelleğe alınmış olarak kaldığı sürece satırın ömrü de bu süre boyunca kalır. Bir işlev önbellekten kaldırıldığında, karşılık gelen satır bu görünümden kaldırılır. Bu sırada, sys.dm_exec_query_stats benzer bir Performans İstatistikleri SQL izleme olayı oluşturulur. Bellek içi işlevler ve CLR skaler işlevleri de dahil olmak üzere skaler işlevler hakkında bilgi döndürür. Tablo değerli işlevler ve Skaler UDF İnline Etme ile birleştirilen skaler işlevler hakkında bilgi döndürmez.

Azure SQL Veritabanı'nda dinamik yönetim görünümleri, veritabanının kapsamasını etkileyecek bilgileri veya kullanıcının erişimi olan diğer veritabanları hakkındaki bilgileri kullanıma sunmaz. Bu bilgilerin açığa çıkmasını önlemek için, bağlı kiracıya ait olmayan verileri içeren her satır filtrelenir.

Uyarı

Sys.dm_exec_function_stats sonuçları her yürütmeye göre farklılık gösterebilir; veriler yalnızca tamamlanmış sorguları yansıtır ve hala devam eden sorguları yansıtmaz.

Sütun adı Veri türü Description
database_id int İşlevin bulunduğu veritabanı kimliği.

Azure SQL Veritabanı'nda değerler tek bir veritabanı veya elastik havuz içinde benzersizdir, ancak mantıksal sunucu içinde değildir.
object_id int İşlevin nesne tanımlama numarası.
type char(2) Nesnenin türü: FN = Skaler değerli fonksiyonlar
type_desc nvarchar(60) Nesne türünün açıklaması: SQL_SCALAR_FUNCTION
sql_handle varbinary(64) Bu, bu işlevin içinden yürütülen sys.dm_exec_query_stats sorgularla ilişkilendirmek için kullanılabilir.
plan_handle varbinary(64) Bellek içindeki planın tanımlayıcısı. Bu tanımlayıcı geçicidir ve yalnızca plan önbellekte kalırken sabit kalır. Bu değer sys.dm_exec_cached_plans dinamik yönetim görünümüyle kullanılabilir.

Yerel olarak derlenmiş bir işlev, bellek ile iyileştirilmiş bir tabloyu sorguladığında değer her zaman 0x000 olur.
önbelleklenmiş_zaman datetime İşlevin önbelleğe eklendiği zaman.
son_çalıştırma_zamanı datetime İşlevin yürütüldiği son zaman.
execution_count bigint İşlevin en son derlendiğinden bu yana kaç kez yürütüldüğünü gösterir.
total_worker_time bigint Derlendiği andan itibaren bu işlevin yürütmeleri tarafından mikrosaniye cinsinden tüketilen toplam CPU süresi.

Yerel olarak derlenmiş işlevlerde, total_worker_time birçok yürütme 1 milisaniyeden kısa sürerse doğru olmayabilir.
last_worker_time bigint İşlevin en son yürütülürken tüketilen mikrosaniye olarak CPU süresi. 1
min_worker_time bigint Bu işlevin tek bir yürütme sırasında tüketmiş olduğu en düşük CPU süresi (mikrosaniye cinsinden). 1
max_worker_time bigint Bu işlevin tek bir yürütme sırasında tüketmiş olduğu en uzun CPU süresi (mikrosaniye cinsinden). 1
toplam_fiziksel_okumalar bigint Derlendiğinden bu yana bu işlevin yürütmeleri tarafından gerçekleştirilen toplam fiziksel okuma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
last_physical_reads bigint İşlevin en son yürütülürken gerçekleştirilen fiziksel okuma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
min_physical_reads bigint Bu işlevin tek bir yürütme sırasında gerçekleştirdiği en düşük fiziksel okuma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
max_physical_reads bigint Bu işlevin tek bir yürütme sırasında gerçekleştirdiği en fazla fiziksel okuma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
total_logical_writes bigint Derlendiği andan itibaren bu işlevin yürütülmeleriyle gerçekleştirilen toplam mantıksal yazma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
son_mantıksal_yazım bigint Planın son yürütülmesinde kirlenen arabellek havuzu sayfalarının sayısı. Bir sayfa zaten kirliyse (değiştirilmişse) hiçbir yazma işlemi sayılmaz.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
min_logical_writes- minimum mantıksal yazma işlemleri bigint Bu işlevin tek bir yürütme sırasında gerçekleştirdiği en az mantıksal yazma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
max_logical_writes bigint Bu işlevin tek bir yürütme sırasında gerçekleştirdiği en fazla mantıksal yazma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
total_logical_reads bigint Derlendiğinden bu yana bu işlevin yürütmeleri tarafından gerçekleştirilen toplam mantıksal okuma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
last_logical_reads (son mantıksal okuma) bigint İşlevin son yürütülmesinde gerçekleştirilen mantıksal okuma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
min_logical_reads (minimum mantıksal okuma) bigint Bu işlevin tek bir yürütme sırasında gerçekleştirdiği en az mantıksal okuma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
max_logical_reads bigint Bu işlevin tek bir yürütme sırasında gerçekleştirdiği en fazla mantıksal okuma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
total_elapsed_time bigint Bu işlevin tamamlanmış yürütmeleri için mikrosaniye cinsinden geçen toplam süre.
son_geçen_zaman bigint Bu işlevin en son tamamlanan yürütülmesi için mikrosaniye cinsinden geçen süre.
min_elapsed_time bigint Bu işlevin tamamlanmış herhangi bir yürütmesi için mikrosaniye cinsinden geçen en kısa süre.
max_elapsed_time bigint Bu işlevin tamamlanması için mikrosaniye cinsinden geçen en uzun süre.
total_sayfa_sunucu_okumaları bigint Derlendiğinden bu yana bu işlevin yürütmeleri tarafından gerçekleştirilen toplam sayfa sunucusu okuma sayısı.

Şunun için geçerlidir: Azure SQL Veritabanı Hiper Ölçek.
son_sayfa_sunucu_okumaları bigint İşlevin en son yürütülürken gerçekleştirilen sayfa sunucusu okuma sayısı.

Şunun için geçerlidir: Azure SQL Veritabanı Hiper Ölçek.
min_page_server_reads bigint Bu işlevin tek bir yürütme sırasında gerçekleştirdiği en az sayfa sunucusu okuma sayısı.

Şunun için geçerlidir: Azure SQL Veritabanı Hiper Ölçek.
max_page_server_reads bigint Bu işlevin tek bir yürütme sırasında gerçekleştirdiği en fazla sayfa sunucusu okuma sayısı.

Şunun için geçerlidir: Azure SQL Veritabanı Hiper Ölçek.

Permissions

SQL Server ve SQL Yönetilen Örneği'ne VIEW SERVER STATE izni gerekir.

SQL Veritabanı Temel,S0 ve S1 hizmet hedeflerinive elastik havuzlardaki veritabanları için, sunucu yöneticisi hesabı, Microsoft Entra yönetici hesabı veya ##MS_ServerStateReader##sunucu rolü üyeliği gereklidir. Diğer tüm SQL Veritabanı hizmet hedeflerinde, veritabanında VIEW DATABASE STATE izni veya ##MS_ServerStateReader## sunucu rolü üyeliği gereklidir.

SQL Server 2022 ve üzeri için izinler

Sunucuda SUNUCU PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.

Örnekler

Aşağıdaki örnek, geçen ortalama süreyle tanımlanan ilk on işlev hakkında bilgi döndürür.

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;  

Ayrıca Bkz.

Yürütmeyle İlgili Dinamik Yönetim Görünümleri ve İşlevleri (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)