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.databaseslog_reuse_wait_desc adalah AVAILABILITY_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.

Baca juga