Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Azure SQL Database
Fungsi sys.dm_hs_database_log_rate manajemen dinamis (DMF) mengembalikan informasi tentang laju pembuatan log di Azure SQL Database Hyperscale.
Setiap baris dalam tataan hasil mewakili komponen yang mengontrol (mengurangi) laju pembuatan log dalam database Hyperscale. Ada beberapa komponen dalam arsitektur tingkat Hyperscale yang dapat mengurangi laju pembuatan log untuk menjaga performa database tetap stabil dan seimbang.
Jenis komponen tertentu, seperti replika komputasi sekunder atau server halaman, dapat mengurangi laju pembuatan log untuk sementara pada replika komputasi utama untuk memastikan kesehatan dan stabilitas database secara keseluruhan.
Jika laju pembuatan log tidak dikurangi oleh komponen apa pun, baris dikembalikan untuk komponen replika komputasi utama, memperlihatkan tingkat pembuatan log maksimum yang diizinkan untuk database.
Fungsi manajemen dinamis ini mengembalikan baris hanya ketika sesi tersambung ke replika utama.
Syntax
sys.dm_hs_database_log_rate (
{ database_id | NULL }
)
Arguments
database_id
database_id adalah bilangan bulat yang mewakili ID database, tanpa nilai default. Input yang valid adalah ID database atau NULL.
database_id Saat disediakan, sys.dm_hs_database_log_rate mengembalikan baris untuk database tertentu tersebut.
Ketika tidak disediakan atau kapan NULL disediakan, untuk database tunggal, mengembalikan baris untuk database saat ini. Untuk database dalam kumpulan elastis, mengembalikan baris untuk semua database di kumpulan tempat penelepon memiliki izin yang memadai.
Fungsi bawaan DB_ID dapat ditentukan.
Tabel Dikembalikan
| Nama kolom | Jenis data | Description |
|---|---|---|
database_id |
Int BUKAN NULL | Pengidentifikasi database. Nilainya unik dalam satu database atau kumpulan elastis, tetapi tidak dalam server logis. |
replica_id |
pengidentifikasi unik BUKAN NULL | Pengidentifikasi replika komputasi yang sesuai dengan replica_id kolom di sys.dm_database_replica_states.
NULL ketika component_id sesuai dengan server halaman Hyperscale.Nilai ini dikembalikan oleh DATABASEPROPERTYEX(DB_NAME(), 'ReplicaID') panggilan fungsi saat tersambung ke replika. |
file_id |
Int NOL | ID file database dalam database yang sesuai dengan server halaman yang membatasi laju pembuatan log. Akan diisi hanya jika perannya adalah server halaman, jika tidak, mengembalikan NULL. Nilai ini sesuai dengan file_id kolom di sys.database_files. |
current_max_log_rate |
bigint BUKAN NULL | Batas laju log maks saat ini untuk laju pembuatan log pada replika komputasi utama, dalam byte/detik. Jika tidak ada komponen yang mengurangi laju pembuatan log, laporkan batas laju pembuatan log untuk database Hyperscale. |
component_id |
pengidentifikasi unik BUKAN NULL | Pengidentifikasi unik komponen Hyperscale seperti server halaman atau replika komputasi. |
role |
smallint BUKAN NULL | Semua peran komponen yang ada yang dapat mengurangi pembuatan log.Unknown = 0Storage = 1Primary = 2Replica = 4LocalDestage = 5Destage = 6 GeoReplica = 10StorageCheckpoint = 12MigrationTarget = 14Ketika laju pembuatan log terbatas, jenis tunggu berikut yang sesuai dengan setiap peran mungkin diamati pada replika komputasi utama: 1 - RBIO_RG_STORAGE 4 - RBIO_RG_REPLICA 5 - RBIO_RG_LOCALDESTAGE 6 - RBIO_RG_DESTAGE 10 - RBIO_RG_GEOREPLICA 12 - RBIO_RG_STORAGE_CHECKPOINT 14 - RBIO_RG_MIGRATION_TARGET Untuk informasi selengkapnya, lihat Menunggu pembatasan laju log |
role_desc |
nvarchar(60) BUKAN NULL |
Unknown = Peran komponen tidak diketahuiStorage = Server halamanPrimary = Replika komputasi utamaReplica = Replika komputasi sekunder seperti replika ketersediaan tinggi (HA) atau replika bernama.LocalDestage = Layanan logDestage = Penyimpanan log jangka panjangGeoReplica = Replika geo-sekunderStorageCheckpoint = Titik pemeriksaan di server halamanMigrationTarget = Database target selama migrasi terbalik dari Hyperscale ke database non-Hyperscale. |
catchup_rate |
bigint BUKAN NULL | Laju Penangkapan dalam byte/detik. Mengembalikan nol ketika laju log tidak berkurang. |
catchup_bytes |
bigint BUKAN NULL | Jumlah log transaksi, dalam byte, yang harus diterapkan komponen untuk mengejar ketinggalan dengan replika komputasi utama. Mengembalikan 0 ketika komponen tertangkap. |
last_reported_time |
tanggalwaktu | Terakhir kali layanan log Hyperscale melaporkan nilai. |
Komentar
Fungsi sys.dm_hs_database_log_rate manajemen dinamis hanya berlaku untuk tingkat Hyperscale Azure SQL Database.
Di tingkat layanan Hyperscale Azure SQL Database, layanan log memastikan bahwa komponen terdistribusi tidak jauh tertinggal dalam menerapkan log transaksi. Hal ini diperlukan untuk menjaga kesehatan dan stabilitas sistem secara keseluruhan. Ketika komponen berada di belakang dan tingkat ketinggalannya kurang dari laju pembuatan log saat ini, layanan log mengurangi tingkat pembuatan log pada primer.
sys.dm_hs_database_log_rate() DMF dapat digunakan untuk memahami komponen mana yang menyebabkan pengurangan laju log dan sejauh mana, dan berapa lama pengurangan laju log mungkin berlangsung.
Untuk konteks selengkapnya tentang pengurangan laju log, lihat Diagnostik performa di Hyperscale.
Permissions
Fungsi manajemen dinamis ini memerlukan izin TAMPILKAN STATUS PERFORMA DATABASE .
Examples
J. Mengembalikan komponen yang menyebabkan pengurangan laju log dalam database tertentu
Contoh berikut mengembalikan baris untuk komponen yang menyebabkan pengurangan laju log. Jika tingkat pembuatan log tidak dikurangi oleh komponen apa pun, baris akan dikembalikan untuk komputasi utama, memperlihatkan tingkat pembuatan log maksimum yang diizinkan untuk database.
SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes
FROM sys.dm_hs_database_log_rate(DB_ID(N'Contosodb'));
B. Mengembalikan komponen yang menyebabkan pengurangan laju log
Saat tersambung ke database dalam kumpulan elastis, contoh berikut mengembalikan baris untuk komponen yang menyebabkan pengurangan laju log, untuk setiap database di kumpulan tempat Anda memiliki izin yang memadai. Saat tersambung ke database tunggal, mengembalikan baris untuk database.
SELECT current_max_log_rate_bps, role_desc, catchup_rate_bps, catchup_distance_bytes
FROM sys.dm_hs_database_log_rate(NULL);