sys.dm_db_resource_stats (Azure SQL Database)
Berlaku untuk: Azure SQL Database
Mengembalikan konsumsi CPU, I/O, dan memori untuk database di Azure SQL Database. Satu baris ada untuk setiap 15 detik, bahkan jika tidak ada aktivitas. Data riwayat dipelihara selama kurang lebih satu jam.
Catatan
sys.dm_db_resource_stats
tidak didukung di Azure SQL Managed Instance. Gunakan tampilan katalog sys.server_resource_stats sebagai gantinya.
Kolom | Jenis Data | Deskripsi |
---|---|---|
end_time |
datetime | Waktu UTC menunjukkan akhir interval pelaporan saat ini. |
avg_cpu_percent |
desimal (5,2) | Pemanfaatan komputasi rata-rata dalam persentase batas tingkat layanan. |
avg_data_io_percent |
desimal (5,2) | Rata-rata pemanfaatan I/O data dalam persentase batas tingkat layanan. Untuk database Hyperscale, lihat IO Data dalam statistik pemanfaatan sumber daya. |
avg_log_write_percent |
desimal (5,2) | Rata-rata penulisan log transaksi (dalam MB/dtk) sebagai persentase dari batas tingkat layanan. |
avg_memory_usage_percent |
desimal (5,2) | Pemanfaatan memori rata-rata dalam persentase batas tingkat layanan. Ini termasuk memori yang digunakan untuk halaman kumpulan buffer dan penyimpanan objek OLTP Dalam Memori. |
xtp_storage_percent |
desimal (5,2) | Pemanfaatan penyimpanan untuk OLTP Dalam Memori sebagai persentase batas kumpulan di akhir interval pelaporan. Ini termasuk memori yang digunakan untuk penyimpanan objek OLTP Dalam Memori berikut: tabel, indeks, dan variabel tabel yang dioptimalkan memori. Ini juga termasuk memori yang digunakan untuk memproses operasi ALTER TABLE pada tabel yang dioptimalkan memori. Mengembalikan 0 jika OLTP Dalam Memori tidak digunakan dalam database. |
max_worker_percent |
desimal (5,2) | Pekerja serentak maksimum (permintaan) dalam persentase batas tingkat layanan database. |
max_session_percent |
desimal (5,2) | Sesi bersamaan maksimum dalam persentase batas tingkat layanan database. |
dtu_limit |
int | Pengaturan DTU database maks saat ini untuk database ini selama interval ini. Untuk database yang menggunakan model berbasis vCore, kolom ini adalah NULL . |
cpu_limit |
desimal (5,2) | Jumlah vCore untuk database ini selama interval ini. Untuk database yang menggunakan model berbasis DTU, kolom ini adalah NULL . |
avg_instance_cpu_percent |
desimal (5,2) | Pemanfaatan CPU rata-rata oleh instans mesin database yang menghosting kumpulan, sebagai persentase batas instans. Dilaporkan pada granularitas satu menit dan mencakup pemanfaatan CPU oleh beban kerja pengguna dan internal. |
avg_instance_memory_percent |
desimal (5,2) | Penggunaan memori rata-rata untuk instans SQL Server yang menghosting database. Termasuk pemanfaatan memori oleh beban kerja pengguna dan internal. |
avg_login_rate_percent |
desimal (5,2) | Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin. |
replica_role |
int | Mewakili peran replika saat ini. 0 - Primer 1 - Ketersediaan tinggi (HA) sekunder 2 - Penerus replikasi geografis 3 - Replika bernama Laporan 1 saat terhubung dengan ReadOnly niat ke sekunder yang dapat dibaca. Jika menyambungkan ke geo-sekunder tanpa menentukan ReadOnly niat, laporan 2 untuk mencerminkan koneksi ke penerus replikasi geografis. Jika menyambungkan ke replika bernama tanpa menentukan ReadOnly niat, laporan 3. |
Tip
Untuk konteks selengkapnya tentang batas dan tingkat layanan ini, lihat topik Tingkat Layanan, Menyetel performa kueri secara manual di Azure SQL Database, dan batas sumber daya SQL Database dan tata kelola sumber daya.
Izin
Tampilan ini memerlukan VIEW DATABASE STATE
izin.
Keterangan
Data yang dikembalikan oleh sys.dm_db_resource_stats
dinyatakan sebagai persentase batas maksimum yang diizinkan untuk tingkat layanan/tingkat performa yang Anda jalankan.
Jika database gagal ke server lain dalam 60 menit terakhir, tampilan hanya akan mengembalikan data untuk waktu sejak failover tersebut.
Untuk tampilan data yang kurang terperinci dengan periode retensi yang lebih lama, gunakan sys.resource_stats
tampilan katalog di Azure SQL Database. Tampilan ini menangkap data setiap 5 menit dan mempertahankan data historis selama 14 hari. Untuk informasi selengkapnya, lihat sys.resource_stats.
Ketika database adalah anggota kumpulan elastis, statistik sumber daya yang disajikan sebagai nilai persen dinyatakan sebagai persentase batas maksimum untuk database sebagaimana diatur dalam konfigurasi kumpulan elastis.
Contoh
Contoh berikut mengembalikan data pemanfaatan sumber daya yang diurutkan berdasarkan waktu terbaru untuk database yang saat ini tersambung di Azure SQL Database atau Azure SQL Managed Instance.
SELECT * FROM sys.dm_db_resource_stats ORDER BY end_time DESC;
Contoh berikut mengidentifikasi konsumsi DTU rata-rata dalam hal persentase batas DTU maksimum yang diizinkan dalam tingkat performa untuk database pengguna selama satu jam terakhir. Pertimbangkan untuk meningkatkan tingkat performa karena persentase ini mendekati 100% secara konsisten.
SELECT end_time,
(SELECT Max(v)
FROM (VALUES (avg_cpu_percent), (avg_data_io_percent), (avg_log_write_percent)) AS
value(v)) AS [avg_DTU_percent]
FROM sys.dm_db_resource_stats;
Contoh berikut mengembalikan nilai rata-rata dan maksimum untuk persentase CPU, I/O data dan log, dan konsumsi memori selama satu jam terakhir.
SELECT
AVG(avg_cpu_percent) AS 'Average CPU Utilization In Percent',
MAX(avg_cpu_percent) AS 'Maximum CPU Utilization In Percent',
AVG(avg_data_io_percent) AS 'Average Data IO In Percent',
MAX(avg_data_io_percent) AS 'Maximum Data IO In Percent',
AVG(avg_log_write_percent) AS 'Average Log Write I/O Throughput Utilization In Percent',
MAX(avg_log_write_percent) AS 'Maximum Log Write I/O Throughput Utilization In Percent',
AVG(avg_memory_usage_percent) AS 'Average Memory Usage In Percent',
MAX(avg_memory_usage_percent) AS 'Maximum Memory Usage In Percent'
FROM sys.dm_db_resource_stats;