Bagikan melalui


sys.dm_os_performance_counters (Transact-SQL)

Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Mengembalikan baris per penghitung kinerja yang dikelola oleh server. Untuk informasi tentang setiap penghitung kinerja, lihat Menggunakan Objek SQL Server.

Catatan

Untuk memanggil ini dari Azure Synapse Analytics atau Analytics Platform System (PDW), gunakan nama sys.dm_pdw_nodes_os_performance_counters. Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Nama kolom Jenis data Deskripsi
object_name nchar(128) Kategori tempat penghitung ini berada.
counter_name nchar(128) Nama penghitung. Untuk mendapatkan informasi selengkapnya tentang penghitung, ini adalah nama topik yang akan dipilih dari daftar penghitung dalam Menggunakan Objek SQL Server.
instance_name nchar(128) Nama instans penghitung tertentu. Sering kali berisi nama database.
cntr_value bigint Nilai penghitung saat ini.

Catatan: Untuk penghitung per detik, nilai ini bersifat kumulatif. Nilai tarif harus dihitung dengan mengambil sampel nilai pada interval waktu diskrit. Perbedaan antara dua nilai sampel berturut-turut sama dengan laju untuk interval waktu yang digunakan.
cntr_type int Jenis penghitung seperti yang didefinisikan oleh arsitektur performa Windows. Lihat Jenis Penghitung Kinerja WMI pada Dokumen atau dokumentasi Windows Server Anda untuk informasi selengkapnya tentang jenis penghitung kinerja.
pdw_node_id int Berlaku untuk: Azure Synapse Analytics, Analytics Platform System (PDW)

Pengidentifikasi untuk simpul tempat distribusi ini aktif.

Keterangan

Jika instans penginstalan SQL Server gagal menampilkan penghitung kinerja sistem operasi Windows, gunakan kueri Transact-SQL berikut untuk mengonfirmasi bahwa penghitung kinerja telah dinonaktifkan.

SELECT COUNT(*) FROM sys.dm_os_performance_counters;  

Jika nilai yang dikembalikan adalah 0 baris, ini berarti penghitung kinerja telah dinonaktifkan. Anda kemudian harus melihat log penyiapan dan mencari kesalahan 3409, Reinstall sqlctr.ini for this instance, and ensure that the instance login account has correct registry permissions. Ini menunjukkan bahwa penghitung kinerja tidak diaktifkan. Kesalahan segera sebelum kesalahan 3409 harus menunjukkan akar penyebab kegagalan penghitung kinerja yang diaktifkan. Untuk informasi selengkapnya tentang penyiapan file log, lihat Menampilkan dan Membaca File Log Penyetelan SQL Server.

Penghitung kinerja di mana cntr_type nilai kolom adalah 65792 menampilkan rekam jepret dari nilai terakhir yang diamati saja, bukan rata-rata.

Penghitung kinerja di mana cntr_type nilai kolom 272696320 atau 272696576 menampilkan jumlah rata-rata operasi yang diselesaikan selama setiap detik interval sampel. Penghitung dari jenis ini mengukur waktu dalam kutu jam sistem. Misalnya, untuk mendapatkan pembacaan seperti rekam jepret detik terakhir hanya untuk Buffer Manager:Lazy writes/sec penghitung dan Buffer Manager:Checkpoint pages/sec , Anda harus membandingkan delta antara dua titik koleksi yang terpisah satu detik.

Penghitung kinerja di mana cntr_type nilai kolom 537003264 menampilkan rasio subset ke kumpulannya sebagai persentase. Misalnya, penghitung Buffer Manager:Buffer cache hit ratio membandingkan jumlah total hit cache dan jumlah total pencarian cache. Dengan demikian, untuk mendapatkan pembacaan seperti rekam jepret dari detik terakhir saja, Anda harus membandingkan delta antara nilai saat ini dan nilai dasar (denominator) antara dua titik koleksi yang terpisah satu detik. Nilai dasar yang sesuai adalah penghitung Buffer Manager:Buffer cache hit ratio base kinerja di mana cntr_type nilai kolom 1073939712.

Penghitung kinerja di mana cntr_type nilai kolom 1073874176 menampilkan berapa banyak item yang diproses rata-rata, sebagai rasio item yang diproses terhadap jumlah operasi. Misalnya, penghitung Locks:Average Wait Time (ms) membandingkan kunci menunggu per detik dengan permintaan kunci per detik, untuk menampilkan jumlah rata-rata waktu tunggu (dalam milidetik) untuk setiap permintaan kunci yang mengakibatkan menunggu. Dengan demikian, untuk mendapatkan pembacaan seperti rekam jepret dari detik terakhir saja, Anda harus membandingkan delta antara nilai saat ini dan nilai dasar (denominator) antara dua titik koleksi yang terpisah satu detik. Nilai dasar yang sesuai adalah penghitung Locks:Average Wait Time Base kinerja di mana cntr_type nilai kolom 1073939712.

Data di sys.dm_os_performance_counters DMV tidak bertahan setelah mesin database dimulai ulang. sqlserver_start_time Gunakan kolom di sys.dm_os_sys_info untuk menemukan waktu mulai mesin database terakhir.

Izin

Pada SQL Server dan SQL Managed Instance, memerlukan VIEW SERVER STATE izin.

Pada tujuan layanan SQL Database Basic, S0, dan S1, dan untuk database di kumpulan elastis, akun admin server, akun admin Microsoft Entra, atau keanggotaan dalam ##MS_ServerStateReader## peran server diperlukan. Pada semua tujuan layanan SQL Database lainnya, izin VIEW DATABASE STATE pada database, atau keanggotaan dalam ##MS_ServerStateReader## peran server diperlukan.

Izin untuk SQL Server 2022 dan yang lebih baru

Memerlukan izin TAMPILKAN STATUS PERFORMA SERVER pada server.

Contoh

Contoh berikut mengembalikan semua penghitung kinerja yang menampilkan nilai penghitung rekam jepret.

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;  

Lihat juga

Tampilan Manajemen Dinamis Terkait Sistem Operasi SQL Server (Transact-SQL)
sys.sysperfinfo (Transact-SQL)
sys.dm_os_sys_info (T-SQL)