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;