Aracılığıyla paylaş


sys.dm_os_performance_counters (Transact-SQL)

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

Sunucu tarafından tutulan performans sayacı başına bir satır döndürür. Her performans sayacı hakkında bilgi için SQL Server Nesnelerini Kullanın sayfasına bakınız.

Uyarı

Bunu Azure Synapse Analytics veya Analytics Platform Sistemi'nden (PDW) çağırmak için adını sys.dm_pdw_nodes_os_performance_counterskullanın. Bu söz dizimi, Azure Synapse Analytics'teki sunucusuz SQL havuzu tarafından desteklenmez.

Sütun adı Veri türü Description
object_name nchar(128) Bu sayacın ait olduğu kategori.
counter_name nchar(128) Tezgahın adı. Bir sayac hakkında daha fazla bilgi almak için, Use SQL Server Objects'ta sayaç listesinden seçilecek konunun adı budur.
instance_name nchar(128) Sayacın belirli bir örneğinin adı. Genellikle veritabanı adını içerir.
cntr_value bigint Sayacın mevcut değeri.

Not: Saniyelik sayaçlar için bu değer birikimlidir. Hız değeri, değerin ayrık zaman aralıklarında örneklenerek hesaplanmalıdır. Herhangi iki ardışık örneklem değeri arasındaki fark, kullanılan zaman aralığı oranına eşittir.
cntr_type int Windows performans mimarisi tarafından tanımlanan sayaç türü. Performans sayacı türleri hakkında daha fazla bilgi için Docs'taki WMI Performans Sayacı Tiplerine veya Windows Server dokümantasyonuna bakınız.
pdw_node_id int için geçerlidir: Azure Synapse Analytics, Analiz Platformu Sistemi (PDW)

Bu dağıtımın üzerinde olduğu düğümün tanımlayıcısı.

Açıklamalar

SQL Server kurulum örneği Windows işletim sisteminin performans sayacılarını gösteremezse, performans sayacılarının devre dışı bırakıldığını doğrulamak için aşağıdaki Transact-SQL sorgusunu kullanın.

SELECT COUNT(*) FROM sys.dm_os_performance_counters;  

Eğer geri dönüş değeri 0 satır ise, bu performans sayacılarının devre dışı bırakıldığı anlamına gelir. Sonra kurulum günlüğüne bakıp 3409 hatası aramalısınız, Reinstall sqlctr.ini for this instance, and ensure that the instance login account has correct registry permissions. bu performans sayacılarının etkin olmadığını gösterir. 3409 hatasından hemen önceki hatalar, performans sayacı etkinleştirme başarısızlığının temel nedenini göstermelidir. Kurulum günlük dosyaları hakkında daha fazla bilgi için SQL Server Kurulum Günlüğü Dosyalarını Görüntüle ve Oku bölümüne bakınız.

Sütun değeri cntr_type 65792 olan performans sayaçları, ortalama değil, yalnızca son gözlemlenen değerin anlık görüntüsünü gösterir.

Sütun değeri cntr_type 272696320 veya 272696576 olduğunda performans sayaçları, örnek aralığının her saniyesinde tamamlanan ortalama işlem sayısını gösterir. Bu tip sayaçlar, zamanı sistem saatinin tikleriyle ölçür. Örneğin, ve Buffer Manager:Lazy writes/secBuffer Manager:Checkpoint pages/sec sayacları için son saniyenin anlık bir okumasını elde etmek için, bir saniye aralı iki toplama noktası arasındaki deltayı karşılaştırmanız gerekir.

Sütun değeri cntr_type 537003264 olan performans sayaçları, bir alt kümenin küme oranını yüzde olarak gösterir. Örneğin, Buffer Manager:Buffer cache hit ratio sayacı önbellek haberlerinin toplam sayısını ve önbellek sorgulamalarının toplam sayısını karşılaştırır. Bu nedenle, sadece son saniyenin anlık görüntü benzeri bir okumasını elde etmek için, bir saniye aralı iki toplama noktası arasındaki mevcut değer ile temel değer (payda) arasındaki deltayı karşılaştırmanız gerekir. İlgili temel değer, sütun değeri 1073939712 olan performans sayacıdır Buffer Manager:Buffer cache hit ratio basecntr_type .

Sütun değeri 1073874176 performans sayacı cntr_type , işlenilen öğelerin işlem sayısına oranı olarak ortalama kaç öğenin işlendiğini gösterir. Örneğin, Locks:Average Wait Time (ms) sayaçlar saniyede kilit bekleme sayısını saniyedeki kilit talepleriyle karşılaştırarak, bekleme ile sonuçlanan her kilit talebi için ortalama bekleme süresini (milisaniye cinsinden) gösterir. Bu nedenle, sadece son saniyenin anlık görüntü benzeri bir okumasını elde etmek için, bir saniye aralı iki toplama noktası arasındaki mevcut değer ile temel değer (payda) arasındaki deltayı karşılaştırmanız gerekir. İlgili temel değer, sütun değeri 1073939712 olan performans sayacıdır Locks:Average Wait Time Basecntr_type .

DMV'deki veriler sys.dm_os_performance_counters , veritabanı motoru yeniden başlattıktan sonra kalıcı olarak saklanmaz. sqlserver_start_time Son veritabanı altyapısı başlangıç zamanını bulmak için sys.dm_os_sys_info sütununu kullanın.

İzin

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, anlık sayaç değerlerini gösteren tüm performans sayacı döndürür.

SELECT object_name, counter_name, instance_name, cntr_value, cntr_type  
FROM sys.dm_os_performance_counters
WHERE cntr_type = 65792 OR cntr_type = 272696320 OR cntr_type = 537003264;  

Ayrıca bakınız

SQL Server İşletim Sistemiyle İlgili Dinamik Yönetim Görünümleri (Transact-SQL)
sys.sysperfinfo (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)