Aracılığıyla paylaş


sys.dm_exec_procedure_stats (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Microsoft Fabric SQL veritabanı

Önbelleklenmiş depolanmış prosedürler için toplam performans istatistiklerini döndürür. Görünüm, her önbelleklenmiş saklanan prosedür planı için bir satır döndürür ve satırın ömrü, saklanan prosedür önbelleklenmiş kaldığı süredir. Saklanan bir prosedür önbellekten çıkarıldığında, ilgili satır bu görünümden çıkar. O dönemde, etkinlik query_cache_removal_statistics SQL Server ve Azure SQL Managed Instance için sys.dm_exec_query_stats benzer şekilde yükseltilmiştir.

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_procedure_stats sonuçları her uygulamada değişebilir çünkü veri yalnızca tamamlanmış sorguları yansıtır ve hâlâ uçuşta olanları yansıtmaz. Bunu Azure Synapse Analytics veya Analytics Platform Sistemi'nden (PDW) çağırmak için adını sys.dm_pdw_nodes_exec_procedure_statskullanın. Bu söz dizimi, Azure Synapse Analytics'teki sunucusuz SQL havuzu tarafından desteklenmez.

Sütun adı Veri türü Description
database_id int Saklanan prosedürün 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 Depolanan prosedürün nesne tanımlama numarası.
type char(2) Nesnenin türü:

P = SQL kayıtlı prosedür

PC = Montaj (CLR) depolanmış prosedür

X = Genişletilmiş depolanmış prosedür
type_desc nvarchar(60) Nesne türünün tanımı:

SQL_STORED_PROCEDURE

CLR_STORED_PROCEDURE

EXTENDED_STORED_PROCEDURE
sql_handle varbinary(64) Bu, sys.dm_exec_query_stats içindeki bu depolanmış prosedür içinde yürütülmüş 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 derlenmiş bir depolanmış prosedür bellek optimize edilmiş bir tabloyu sorguladığında her zaman 0x000 olacaktır.
önbelleklenmiş_zaman datetime Saklanan prosedürün önbelleğe eklendiği zaman.
son_çalıştırma_zamanı datetime Saklanan prosedürün son kez yürütüldüğü zaman.
execution_count bigint Saklanan prosedürün son derlendiğinden bu yana kaç kez çalıştırıldığı miktarı.
total_worker_time bigint Bu depolanmış prosedürün derlendiğinden beri çalıştırılmaları için tüketilen toplam CPU süresi, mikrosaniyeler.

Yerel olarak derlenmiş depolanmış prosedürler için, birçok yürütme 1 milisaniyeden az sürerse total_worker_time doğru olmayabilir.
last_worker_time bigint CPU süresi, mikrosaniyeler cinsinden, saklanan prosedürün son yürütüldüğünde tüketilen zaman. 1
min_worker_time bigint Bu saklanan işlemin tek bir yürütme sırasında şimdiye kadar tükettiği minimum CPU süresi, mikrosaniyeler. 1
max_worker_time bigint Bu saklanan işlemin tek bir çalıştırma sırasında şimdiye kadar tükettiği maksimum CPU süresi, mikrosaniyeler. 1
toplam_fiziksel_okumalar bigint Bu saklanan prosedürün derlendiğinden beri yapılan toplam fiziksel okuma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
last_physical_reads bigint Saklanan prosedür son kez gerçekleştirildiğinde 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 saklanan prosedürün tek bir yürütme sırasında şimdiye kadar gerçekleştirdiği minimum fiziksel okuma sayısıdır.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
max_physical_reads bigint Bu saklanan prosedürün tek bir yürütme sırasında şimdiye kadar gerçekleştirdiği maksimum fiziksel okuma sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
total_logical_writes bigint Bu saklanan prosedürün derlendiğinden beri yapılan mantıksal yazımların toplam sayısı.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
son_mantıksal_yazım bigint Plan son yürütüldüğünde tampon havuzu sayfalarının sayısı kirlenmişti. 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 saklanan prosedürün tek bir yürütme sırasında şimdiye kadar gerçekleştirdiği minimum mantıksal yazım sayısıdır.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
max_logical_writes bigint Bu saklanan prosedürün tek bir yürütme sırasında şimdiye kadar gerçekleştirdiği maksimum mantıksal yazım sayısıdır.

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
total_logical_reads bigint Bu depolanmış prosedürün derlendiğinden beri yapılan 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 Saklanan prosedür son kez yürütüldüğünde yapılan 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 saklanan prosedürün tek bir yürütme sırasında şimdiye kadar gerçekleştirdiği minimum mantıksal okuma sayısıdır.

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

Bellek ile iyileştirilmiş bir tabloyu sorgularken her zaman sonuç 0 olacaktır.
total_elapsed_time bigint Bu saklanan işlemin tamamlanması için mikrosaniyeler cinsinden toplam geçen süre.
son_geçen_zaman bigint Bu saklanan işlemin en son tamamlanan yürütülmesi için mikrosaniyeler cinsinden geçen süre.
min_elapsed_time bigint Bu saklanan işlemin tamamlanmış herhangi bir yürütülmesi için mikrosaniye cinsinden geçen minimum süre.
max_elapsed_time bigint Bu depolanmış işlemin tamamlanmış herhangi bir yürütülmesi için mikrosaniye cinsinden geçen maksimum süre.
total_spills bigint Bu depolanmış prosedürün derlendiğinden beri çalıştırılıp dökülen toplam sayfa sayısı.

Geçerlidir: SQL Server 2017 (14.x) CU3 ile başlayacak
last_spills bigint Saklanan prosedür son kez uygulandığında dökülen sayfa sayısı.

Geçerlidir: SQL Server 2017 (14.x) CU3 ile başlayacak
min_spills bigint Bu saklanan prosedürün tek bir uygulamada dökülmüş minimum sayfa sayısı.

Geçerlidir: SQL Server 2017 (14.x) CU3 ile başlayacak
max_spills bigint Bu saklanan prosedürün tek bir uygulamada döktüğü maksimum sayfa sayısı.

Geçerlidir: SQL Server 2017 (14.x) CU3 ile başlayacak
pdw_node_id int Bu dağıtımın üzerinde olduğu düğümün tanımlayıcısı.

için geçerlidir: Azure Synapse Analytics, Analiz Platformu Sistemi (PDW)
total_sayfa_sunucu_okumaları bigint Bu depolanmış prosedürün derlendiğinden beri yapılan toplam sayfa sunucusu okuma sayısı.

Şunlar için geçerlidir: Azure SQL Veritabanı Hiper Ölçek
son_sayfa_sunucu_okumaları bigint Saklanan prosedür son kez çalıştırıldığında yapılan sayfa sunucusu okuma sayısı.

Şunlar için geçerlidir: Azure SQL Veritabanı Hiper Ölçek
min_page_server_reads bigint Bu depolanmış prosedürün tek bir çalıştırma sırasında şimdiye kadar gerçekleştirdiği minimum sayfa sunucusu sayısı.

Şunlar için geçerlidir: Azure SQL Veritabanı Hiper Ölçek
max_page_server_reads bigint Bu depolanmış prosedürün tek bir çalıştırma sırasında şimdiye kadar gerçekleştirdiği maksimum sayfa sunucusu sayısı okumaktadır.

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

1 Yerel derlenen depolanmış prosedürler için, istatistikler toplanması etkinleştirildiğinde, çalışan zamanı milisaniyeler içinde toplanır. Sorgu bir milisaniyeden kısa sürede yürütülürse, değer 0 olur.

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.

Açıklamalar

Görünümdeki istatistikler, saklanan bir prosedür yürütme tamamlandığında güncellenir.

Örnekler

Aşağıdaki örnek, ortalama geçen süreyle tanımlanan en iyi on işlem hakkında bilgi verir.

SELECT TOP 10 d.object_id, d.database_id, OBJECT_NAME(object_id, database_id) 'proc 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_procedure_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_plan (Transact-SQL)
sys.dm_exec_query_stats (Transact-SQL)
sys.dm_exec_trigger_stats (Transact-SQL)
sys.dm_exec_cached_plans (Transact-SQL)