sys.dm_database_replica_states (Azure SQL Database)
Berlaku untuk: Azure SQL Database Azure SQL Managed Instance
Mengembalikan informasi status untuk setiap database yang berpartisipasi dalam replika primer dan sekunder. Pada replika sekunder, mengembalikan satu baris untuk setiap database sekunder pada instans. Pada replika utama, mengembalikan satu baris untuk database utama, dan baris tambahan untuk setiap database sekunder.
Penting
Bergantung pada tindakan dan status tingkat yang lebih tinggi, informasi status database mungkin tidak tersedia atau kedaluarsa. Selain itu, nilai hanya memiliki relevansi lokal.
Nama kolom | Jenis Data | Deskripsi (pada replika utama) |
---|---|---|
database_id | int | Pengidentifikasi database. Di Azure SQL Database, nilainya unik dalam satu database atau kumpulan elastis, tetapi tidak dalam server logis. |
group_id | pengidentifikasi unik | Pengidentifikasi grup ketersediaan tempat database berada. |
replica_id | pengidentifikasi unik | Pengidentifikasi replika ketersediaan dalam grup ketersediaan. |
group_database_id | pengidentifikasi unik | Pengidentifikasi database dalam grup ketersediaan. Pengidentifikasi ini identik pada setiap replika tempat database ini bergabung. |
is_local | bit | Apakah database ketersediaan bersifat lokal, salah satu dari: 0 = Database tidak lokal untuk instans SQL Server. 1 = Database bersifat lokal untuk instans server. |
is_primary_replica | bit | Mengembalikan 1 jika replika adalah primer, atau 0 jika replika sekunder dalam grup ketersediaan tempat database berada. Ini tidak merujuk ke database utama atau sekunder dalam grup ketersediaan terdistribusi atau relasi geo-replikasi aktif. Berlaku untuk: SQL Server 2014 (12.x) dan versi yang lebih baru. |
synchronization_state | kecil | Status pergerakan data, salah satu nilai berikut. 0 = Tidak menyinkronkan. Untuk database utama, menunjukkan bahwa database belum siap untuk menyinkronkan log transaksinya dengan database sekunder yang sesuai. Untuk database sekunder, menunjukkan bahwa database belum memulai sinkronisasi log karena masalah koneksi, sedang ditangguhkan, atau sedang melalui status transisi selama pengaktifan atau pengalihan peran. 1 = Menyinkronkan. Untuk database utama, menunjukkan bahwa database siap menerima permintaan pemindaian dari database sekunder. Untuk database sekunder, menunjukkan bahwa pergerakan data aktif terjadi untuk database. 2 = Disinkronkan. Database utama memperlihatkan SYNCHRONIZED sebagai pengganti SYNCHRONIZING. Database sekunder penerapan sinkron menunjukkan disinkronkan ketika cache lokal mengatakan database siap untuk failover dan sedang disinkronkan. 3 = Mengembalikan. Menunjukkan fase dalam proses batalkan saat database sekunder secara aktif mendapatkan halaman dari database utama. Penting: Ketika database pada replika sekunder berada dalam status MENGEMBALIKAN, memaksa failover ke replika sekunder meninggalkan database dalam status di mana database tidak dapat dimulai sebagai database utama. Database perlu terhubung kembali sebagai database sekunder, atau Anda perlu menerapkan rekaman log baru dari cadangan log. 4 = Inisialisasi. Menunjukkan fase urungkan ketika log transaksi yang diperlukan untuk database sekunder untuk mengejar Urungkan LSN sedang dikirim dan diperkeras pada replika sekunder. Penting: Ketika database pada replika sekunder berada dalam status INISIALISASI, memaksa failover ke replika sekunder meninggalkan database dalam keadaan di mana database tidak dapat dimulai sebagai database utama. Database perlu terhubung kembali sebagai database sekunder, atau Anda perlu menerapkan rekaman log baru dari cadangan log. |
synchronization_state_desc | nvarchar(60) | Deskripsi status pergerakan data, salah satu dari: - TIDAK MENYINKRONKAN -SINKRONISASI -DISINKRONISASI -KEMBALI -INITIALIZING |
is_commit_participant | bit | 0 = Penerapan transaksi tidak disinkronkan sehubungan dengan database ini. 1 = Penerapan transaksi disinkronkan sehubungan dengan database ini. Untuk database pada replika ketersediaan penerapan asinkron, nilai ini selalu 0. Untuk database pada replika ketersediaan penerapan sinkron, nilai ini hanya akurat pada database utama. |
synchronization_health | kecil | Mencerminkan persimpangan status sinkronisasi database yang bergabung ke grup ketersediaan pada replika ketersediaan dan mode ketersediaan replika ketersediaan (mode penerapan sinkron atau penerapan asinkron), salah satu nilai berikut. 0 = Tidak sehat. Database synchronization_state adalah 0 (TIDAK MENYINKRONKAN).1 = Sebagian sehat. Database pada replika ketersediaan penerapan sinkron dianggap sebagian sehat jika synchronization_state 1 (SYNCHRONIZING).2 = Sehat. Database pada replika ketersediaan penerapan sinkron dianggap sehat jika synchronization_state 2 (DISINKRONKAN), dan database pada replika ketersediaan penerapan asinkron dianggap sehat jika synchronization_state 1 (SINKRONISASI). |
synchronization_health_desc | nvarchar(60) | synchronization_health Deskripsi database ketersediaan.- NOT_HEALTHY - PARTIALLY_HEALTHY -SEHAT |
database_state | kecil | 0 = Online 1 = Memulihkan 2 = Pemulihan 3 = Pemulihan tertunda 4 = Tersangka 5 = Darurat 6 = Offline Catatan: Sama seperti state kolom di sys.databases . |
database_state_desc | nvarchar(60) | database_state Deskripsi replika ketersediaan.-DARING -MEMULIHKAN -MEMULIHKAN - RECOVERY_PENDING -MENCURIGAI -DARURAT -LURING Catatan: Sama seperti state_desc kolom di sys.databases . |
is_suspended | bit | Status database, salah satu dari: 0 = Dilanjutkan 1 = Ditangguhkan |
suspend_reason | kecil | Jika database ditangguhkan, alasan untuk status ditangguhkan, salah satu dari: 0 = Tindakan pengguna 1 = Tangguhkan dari mitra 2 = Ulangi 3 = Tangkap 4 = Terapkan 5 = Mulai ulang 6 = Batalkan 7 = Validasi Ulang 8 = Kesalahan dalam perhitungan titik sinkronisasi replika sekunder |
suspend_reason_desc | nvarchar(60) | Deskripsi alasan status database yang ditangguhkan, salah satu dari: SUSPEND_FROM_USER = Pengguna menangguhkan pergerakan data secara manual SUSPEND_FROM_PARTNER = Replika database ditangguhkan setelah failover paksa SUSPEND_FROM_REDO = Terjadi kesalahan selama fase pengulangan SUSPEND_FROM_APPLY = Terjadi kesalahan saat menulis log ke file (lihat log kesalahan) SUSPEND_FROM_CAPTURE = Terjadi kesalahan saat menangkap log pada replika utama SUSPEND_FROM_RESTART = Replika database ditangguhkan sebelum database dimulai ulang (lihat log kesalahan) SUSPEND_FROM_UNDO = Terjadi kesalahan selama fase batalkan (lihat log kesalahan) SUSPEND_FROM_REVALIDATION = Ketidakcocokan perubahan log terdeteksi pada koneksi ulang (lihat log kesalahan) SUSPEND_FROM_XRF_UPDATE = Tidak dapat menemukan titik log umum (lihat log kesalahan) |
recovery_lsn | numerik(25,0) | Pada replika utama, akhir log transaksi sebelum database utama menulis rekaman log baru setelah pemulihan atau failover. Untuk database sekunder tertentu, jika nilai ini kurang dari LSN yang diperkuat saat ini (last_hardened_lsn ), recovery_lsn adalah nilai yang perlu disinkronkan ulang database sekunder ini (yaitu, untuk kembali ke dan menginisialisasi ulang). Jika nilai ini lebih besar dari atau sama dengan LSN yang diperkuat saat ini, sinkronisasi ulang tidak akan diperlukan dan tidak akan terjadi.recovery_lsn mencerminkan ID blok log yang diisi dengan nol. Ini bukan nomor urutan log aktual (LSN). |
truncation_lsn | numerik(25,0) | Pada replika utama, untuk database utama, mencerminkan LSN pemotongan log minimum di semua database sekunder yang sesuai. Jika pemotongan log lokal diblokir (seperti oleh operasi pencadangan), LSN ini mungkin lebih tinggi dari LSN pemotongan lokal. Untuk database sekunder tertentu, mencerminkan titik pemotongan database tersebut. truncation_lsn mencerminkan ID blok log yang diisi dengan nol. Ini bukan nomor urutan log yang sebenarnya. |
last_sent_lsn | numerik(25,0) | Pengidentifikasi blok log yang menunjukkan titik di mana semua blok log telah dikirim oleh yang utama. Ini adalah ID blok log berikutnya yang akan dikirim, bukan ID blok log yang terakhir dikirim.last_sent_lsn mencerminkan ID blok log yang diisi dengan nol. Ini bukan nomor urutan log yang sebenarnya. |
last_sent_time | datetime | Waktu ketika blok log terakhir dikirim. |
last_received_lsn | numerik(25,0) | ID blok log yang mengidentifikasi titik di mana semua blok log telah diterima oleh replika sekunder yang menghosting database sekunder ini.last_received_lsn mencerminkan ID blok log yang diisi dengan nol. Ini bukan nomor urutan log yang sebenarnya. |
last_received_time | datetime | Waktu ketika ID blok log dalam pesan terakhir yang diterima dibaca pada replika sekunder. |
last_hardened_lsn | numerik(25,0) | Mulai Blok Log yang berisi catatan log LSN terakhir yang diperkeras pada database sekunder. Pada database utama penerapan asinkron atau pada database penerapan sinkron yang kebijakan saat ini adalah "penundaan", nilainya adalah NULL. Untuk database utama penerapan sinkron lainnya, last_hardened_lsn menunjukkan minimum LSN yang diperkeras di semua database sekunder.Catatan: last_hardened_lsn mencerminkan ID blok log yang diisi dengan nol. Ini bukan nomor urutan log yang sebenarnya. |
last_hardened_time | datetime | Pada database sekunder, waktu pengidentifikasi blok log untuk LSN terakhir yang diperkeras (last_hardened_lsn ). Pada database utama, mencerminkan waktu yang sesuai dengan LSN minimum yang diperkeras. |
last_redone_lsn | numerik(25,0) | Nomor urutan log aktual dari rekaman log terakhir yang direkonsikan ulang pada database sekunder. last_redone_lsn selalu kurang dari last_hardened_lsn . |
last_redone_time | datetime | Waktu ketika catatan log terakhir direbus pada database sekunder. |
log_send_queue_size | bigint | Jumlah catatan log database utama yang belum dikirim ke database sekunder, dalam kilobyte (KB). |
log_send_rate | bigint | Laju rata-rata di mana instans replika utama mengirim data selama periode aktif terakhir, dalam kilobyte (KB)/detik. |
redo_queue_size | bigint | Jumlah rekaman log dalam file log replika sekunder yang belum direone, dalam kilobyte (KB). |
redo_rate | bigint | Laju rata-rata di mana rekaman log diremehkan pada database sekunder tertentu, dalam kilobyte (KB)/detik.redo_rate dihitung dengan membandingkan total byte log redone karena startup mesin database pada rentang waktu ketika pengulangan berjalan secara aktif, bukan dengan waktu yang berlalu. Karena pengulangan mungkin tidak berjalan terus menerus, nilai yang dihasilkan mungkin berbeda (lebih tinggi) dari nilai penghitung Database Replica:Redone Bytes/sec kinerja. |
filestream_send_rate | bigint | Tingkat pengiriman file FILESTREAM ke replika sekunder, dalam kilobyte (KB)/detik. |
end_of_log_lsn | numerik(25,0) | Akhir lokal log LSN. LSN aktual yang sesuai dengan catatan log terakhir di cache log pada database utama dan sekunder. Pada replika utama, baris sekunder mencerminkan akhir LSN log dari pesan kemajuan terbaru yang telah dikirim replika sekunder ke replika utama.end_of_log_lsn mencerminkan ID blok log yang diisi dengan nol. Ini bukan nomor urutan log yang sebenarnya. |
last_commit_lsn | numerik(25,0) | Nomor urutan log aktual yang sesuai dengan catatan penerapan terakhir dalam log transaksi. Pada database utama, ini sesuai dengan rekaman penerapan terakhir yang diproses. Baris untuk database sekunder memperlihatkan nomor urutan log yang telah dikirim replika sekunder ke replika utama. Pada replika sekunder, ini adalah catatan penerapan terakhir yang direbus. |
last_commit_time | datetime | Waktu yang sesuai dengan catatan penerapan terakhir. Pada database sekunder, kali ini sama seperti pada database utama. Pada replika utama, setiap baris database sekunder menampilkan waktu replika sekunder yang menghosting database sekunder yang telah dilaporkan kembali ke replika utama. Perbedaan waktu antara baris database utama dan baris database sekunder tertentu mewakili sekitar tujuan titik pemulihan (RPO), dengan asumsi bahwa proses pengulangan tertangkap dan bahwa kemajuan telah dilaporkan kembali ke replika utama oleh replika sekunder. |
low_water_mark_for_ghosts | bigint | Angka yang meningkat secara monoton untuk database yang menunjukkan tanda air rendah yang digunakan oleh pembersihan hantu pada database utama. Jika jumlah ini tidak meningkat dari waktu ke waktu, itu menyiratkan bahwa pembersihan hantu mungkin tidak terjadi. Untuk memutuskan baris hantu mana yang akan dibersihkan, replika utama menggunakan nilai minimum kolom ini untuk database ini di semua replika ketersediaan (termasuk replika utama). |
secondary_lag_seconds | bigint | Jumlah detik replika sekunder berada di belakang replika utama selama sinkronisasi. Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru. |
quorum_commit_lsn | numerik(25,0) | Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin. |
quorum_commit_time | datetime | Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin. |
Izin
Memerlukan izin TAMPILKAN STATUS DATABASE pada database.