sys.dm_hadr_database_replica_cluster_states (T-SQL)
Berlaku untuk: SQL Server
Mengembalikan baris yang berisi wawasan tentang kesehatan database ketersediaan dalam grup ketersediaan AlwaysOn di setiap grup ketersediaan AlwaysOn pada kluster Windows Server Failover Clustering (WSFC). Kueri sys.dm_hadr_database_replica_cluster_states
untuk menjawab pertanyaan berikut:
Apakah semua database dalam grup ketersediaan siap untuk failover?
Setelah failover paksa, apakah database sekunder menangguhkan dirinya secara lokal dan mengakui statusnya yang ditangguhkan ke replika utama baru?
Jika replika utama saat ini tidak tersedia, replika sekunder mana yang akan memungkinkan kehilangan data minimum jika menjadi replika utama?
Ketika nilai kolom sys.databases
log_reuse_wait_desc
adalahAVAILABILITY_REPLICA
, replika sekunder mana dalam grup ketersediaan yang menahan pemotongan log pada database utama tertentu?
Nama kolom | Jenis data | Deskripsi |
---|---|---|
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. |
database_name | nama sysname | Nama database yang termasuk dalam grup ketersediaan. |
is_failover_ready | bit | Menunjukkan apakah database sekunder disinkronkan dengan database utama yang sesuai. salah satu dari: 0 = Database tidak ditandai sebagai disinkronkan dalam kluster. Database belum siap untuk failover. 1 = Database ditandai sebagai disinkronkan dalam kluster. Database siap untuk failover. |
is_pending_secondary_suspend | bit | Menunjukkan apakah, setelah failover paksa, database menunggu penangguhan, salah satu dari: 0 = Status apa pun kecuali untuk HADR_SYNCHRONIZED_SUSPENDED. 1 = HADR_SYNCHRONIZED_SUSPENDED. Ketika failover paksa selesai, masing-masing database sekunder diatur ke HADR_SYNCHONIZED_SUSPENDED dan tetap dalam status ini sampai replika utama baru menerima pengakuan dari database sekunder tersebut ke pesan SUSPEND. NULL = Tidak diketahui (tidak ada kuorum) |
is_database_joined | bit | Menunjukkan apakah database pada replika ketersediaan ini telah bergabung ke grup ketersediaan, salah satu dari: 0 = Database tidak bergabung ke grup ketersediaan pada replika ketersediaan ini. 1 = Database bergabung ke grup ketersediaan pada replika ketersediaan ini. NULL = tidak diketahui (Replika ketersediaan tidak memiliki kuorum.) |
recovery_lsn | numerik(25,0) | Pada replika utama, akhir log transaksi sebelum replika menulis rekaman log baru setelah pemulihan atau failover. Pada replika utama, baris untuk database sekunder tertentu memiliki nilai bahwa replika utama membutuhkan replika sekunder untuk disinkronkan (yaitu, untuk kembali ke dan menginisialisasi ulang). Pada replika sekunder, nilai ini adalah NULL. Setiap replika sekunder memiliki nilai MAX atau nilai yang lebih rendah yang telah diberi tahu replika sekunder untuk kembali. |
truncation_lsn | numerik(25,0) | Nilai pemotongan log grup ketersediaan AlwaysOn, yang mungkin lebih tinggi dari LSN pemotongan lokal jika pemotongan log lokal diblokir (seperti oleh operasi pencadangan). |
Izin
Untuk SQL Server 2019 (15.x) dan versi yang lebih lama, memerlukan izin TAMPILKAN STATUS SERVER di server.
Untuk SQL Server 2022 (16.x) dan versi yang lebih baru, memerlukan izin TAMPILKAN STATUS PERFORMA SERVER di server.