sys.dm_db_resource_stats (Azure SQL Database dan Azure SQL Managed Instance)
Berlaku untuk:![]()
Azure SQL Managed Instance Azure SQL Database
Mengembalikan konsumsi CPU, I/O, dan memori untuk database Azure SQL Database atau Azure SQL Managed Instance. Terdapat satu baris untuk setiap 15 detik, bahkan jika tidak ada aktivitas di database. Data riwayat dipelihara selama kurang lebih satu jam.
| 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) | Pemanfaatan I/O data rata-rata 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 MBps) 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 In-Memory. |
| xtp_storage_percent | desimal (5,2) | Storage pemanfaatan untuk In-Memory OLTP dalam persentase batas tingkat layanan (pada akhir interval pelaporan). Ini termasuk memori yang digunakan untuk penyimpanan objek OLTP In-Memory berikut: tabel, indeks, dan variabel tabel yang dioptimalkan memori. Ini juga termasuk memori yang digunakan untuk memproses operasi ALTER TABLE. Mengembalikan 0 jika In-Memory OLTP tidak digunakan dalam database. |
| max_worker_percent | desimal (5,2) | Pekerja bersamaan 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) | Penggunaan CPU rata-rata untuk instans SQL Server menghosting database, seperti yang diukur oleh sistem operasi. Termasuk 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, seperti yang diukur oleh sistem operasi. 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 dengan 0 sebagai primer, 1 sebagai sekunder, dan 2 sebagai penerus (primer geo-sekunder). Anda akan melihat "1" ketika terhubung dengan niat ReadOnly ke semua sekunder yang dapat dibaca. Jika menyambungkan ke geo-sekunder tanpa menentukan niat ReadOnly, Anda akan melihat "2" (menyambungkan ke penerus). |
Tip
Untuk konteks selengkapnya tentang batas dan tingkat layanan ini, lihat topik Tingkat Layanan, Menyetel performa kueri secara manual di Azure SQL Database, dan SQL Database batas sumber daya dan tata kelola sumber daya.
Izin
Tampilan ini memerlukan izin TAMPILKAN STATUS DATABASE .
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 di-failover ke server lain dalam 60 menit terakhir, tampilan hanya akan mengembalikan data untuk waktu tersebut sejak failover tersebut.
Untuk tampilan data yang kurang terperinci dengan periode retensi yang lebih lama, gunakan sys.resource_stats tampilan katalog dalam Azure SQL Database, atau sys.server_resource_stats tampilan katalog di Azure SQL Managed Instance. Tampilan ini menangkap data setiap 5 menit dan mempertahankan data historis selama 14 hari. Untuk informasi selengkapnya, lihat sys.resource_stats atau sys.server_resource_stats.
Ketika database adalah anggota kumpulan elastis, statistik sumber daya yang disajikan sebagai nilai persen dinyatakan sebagai persen dari 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 Azure SQL Database yang saat ini tersambung 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, data dan I/O 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;