Bagikan melalui


sys.availability_replicas (T-SQL)

Berlaku untuk:SQL Server

Mengembalikan baris untuk setiap replika ketersediaan yang termasuk dalam grup ketersediaan AlwaysOn di Kluster Failover Windows Server (WSFC).

Jika instans server lokal tidak dapat tersambung ke kluster failover WSFC, misalnya karena kluster tidak berfungsi atau kuorum hilang, sys.availability_replicas hanya mengembalikan baris untuk replika ketersediaan lokal. Baris ini hanya berisi kolom data yang di-cache secara lokal dalam metadata.

Nama kolom Jenis data Deskripsi
replica_id pengidentifikasi unik ID unik replika.
group_id pengidentifikasi unik ID unik grup ketersediaan tempat replika berada.
replica_metadata_id int ID untuk objek metadata lokal untuk replika ketersediaan di Mesin Database.
replica_server_name nvarchar(256) Nama server instans SQL Server yang menghosting replika ini dan, untuk instans non-default, nama instansnya.
owner_sid varbinary(85) Pengidentifikasi keamanan (SID) terdaftar ke instans server ini untuk pemilik eksternal replika ketersediaan ini.

NULL untuk replika ketersediaan non-lokal.
endpoint_url nvarchar(256) Representasi string dari titik akhir pencerminan database yang ditentukan pengguna yang digunakan oleh koneksi antara replika primer dan sekunder untuk sinkronisasi data. Untuk informasi tentang sintaksIS URL titik akhir, lihat Menentukan URL Titik Akhir - Menambahkan atau Memodifikasi Replika Ketersediaan.

NULL = Tidak dapat berbicara dengan kluster failover WSFC.

Untuk mengubah titik akhir ini, gunakan ENDPOINT_URL opsi alter AVAILABILITY GROUP Transact-SQL statement.
availability_mode kecil Mode ketersediaan replika, salah satu dari:

0 = Penerapan asinkron. Replika utama dapat melakukan transaksi tanpa menunggu sekunder menulis log ke disk.

1 = Penerapan sinkron. Replika utama menunggu untuk melakukan transaksi tertentu sampai replika sekunder telah menulis transaksi ke disk.

4 = Hanya konfigurasi. Replika utama mengirimkan metadata konfigurasi grup ketersediaan ke replika secara sinkron. Data pengguna tidak dikirimkan ke replika.

Untuk informasi selengkapnya, lihat Perbedaan antara mode ketersediaan untuk grup ketersediaan Always On.

Berlaku untuk SQL Server 2017 (14.x) CU 1 dan versi yang lebih baru.
availability_mode_desc nvarchar(60) availability_modeDeskripsi , salah satu dari:

ASYNCHRONOUS_COMMIT
SYNCHRONOUS_COMMIT
CONFIGURATION_ONLY

Untuk mengubah mode ketersediaan replika ketersediaan, gunakan AVAILABILITY_MODE opsi dari pernyataan alter AVAILABILITY GROUP Transact-SQL.

Anda tidak dapat mengubah mode ketersediaan replika menjadi CONFIGURATION_ONLY. Anda tidak dapat mengubah CONFIGURATION_ONLY replika menjadi replika sekunder atau utama.
failover_mode kecil Mode failover replika ketersediaan, salah satu dari:

0 = Failover otomatis. Replika adalah target potensial untuk failover otomatis. Failover otomatis hanya didukung jika mode ketersediaan diatur ke penerapan sinkron (availability_mode adalah 1) dan replika ketersediaan saat ini disinkronkan.

1 = Failover manual. Ketika replika sekunder dikonfigurasi untuk failover manual, administrator database harus memulai failover secara manual. Jenis failover yang dilakukan tergantung pada apakah replika sekunder disinkronkan, sebagai berikut:

Jika replika ketersediaan tidak disinkronkan atau masih disinkronkan, hanya failover paksa (dengan kemungkinan kehilangan data) yang dapat terjadi.

Jika mode ketersediaan diatur ke penerapan sinkron (availability_mode adalah 1) dan replika ketersediaan saat ini disinkronkan, failover manual tanpa kehilangan data dapat terjadi.

Untuk melihat rollup kesehatan sinkronisasi database dari setiap database ketersediaan dalam replika ketersediaan, gunakan synchronization_health kolom dan synchronization_health_desc tampilan manajemen dinamis sys.dm_hadr_availability_replica_states . Rollup mempertimbangkan status sinkronisasi setiap database ketersediaan dan mode ketersediaan replika ketersediaannya.

Catatan: Untuk menampilkan kesehatan sinkronisasi database ketersediaan tertentu, kueri synchronization_state kolom dan synchronization_health tampilan manajemen dinamis sys.dm_hadr_database_replica_states .
failover_mode_desc nvarchar(60) failover_modeDeskripsi , salah satu dari:

MANUAL
AUTOMATIC

Untuk mengubah mode failover, gunakan FAILOVER_MODE opsi ubah pernyataan Transact-SQL GRUP KETERSEDIAAN .
session_timeout int Periode batas waktu, dalam detik. Periode batas waktu adalah waktu maksimum replika menunggu untuk menerima pesan dari replika lain, sebelum mempertimbangkan bahwa koneksi antara replika primer dan sekunder telah gagal. Batas waktu sesi mendeteksi apakah sekunder terhubung ke replika utama.

Pada mendeteksi koneksi yang gagal dengan replika sekunder, replika utama mempertimbangkan replika sekunder menjadi NOT_SYNCHRONIZED. Pada mendeteksi koneksi yang gagal dengan replika utama, replika sekunder hanya mencoba untuk terhubung kembali.

Catatan: Batas waktu sesi tidak menyebabkan failover otomatis.

Untuk mengubah nilai ini, gunakan SESSION_TIMEOUT opsi alter AVAILABILITY GROUP Transact-SQL statement.
primary_role_allow_connections kecil Apakah ketersediaan memungkinkan semua koneksi atau hanya koneksi baca-tulis, salah satu dari:

2 = Semua (default)
3 = Baca tulis
primary_role_allow_connections_desc nvarchar(60) primary_role_allow_connectionsDeskripsi , salah satu dari:

ALL
READ_WRITE
secondary_role_allow_connections kecil Apakah replika ketersediaan yang melakukan peran sekunder (yaitu, replika sekunder) dapat menerima koneksi dari klien, salah satu dari:

0 = Tidak. Tidak ada koneksi yang diizinkan ke database di replika sekunder, dan database tidak tersedia untuk akses baca. Ini adalah pengaturan default.

1 = Baca saja. Hanya koneksi baca-saja yang diizinkan ke database di replika sekunder. Semua database dalam replika tersedia untuk akses baca.

2 = Semua. Semua koneksi diizinkan ke database di replika sekunder untuk akses baca-saja.

Untuk informasi selengkapnya, lihat Memindahkan beban kerja hanya-baca ke replika sekunder grup ketersediaan Always On.
secondary_role_allow_connections_desc nvarchar(60) secondary_role_allow_connectionsDeskripsi , salah satu dari:

NO
READ_ONLY
ALL
create_date datetime Tanggal replika dibuat.

NULL = Replika tidak ada di instans server ini.
modify_date datetime Tanggal replika terakhir diubah.

NULL = Replika tidak ada di instans server ini.
backup_priority int Mewakili prioritas yang ditentukan pengguna untuk melakukan pencadangan pada replika ini relatif terhadap replika lain dalam grup ketersediaan yang sama. Nilainya adalah bilangan bulat dalam rentang 0,.100.

untuk informasi selengkapnya, lihat Mengalihkan cadangan yang didukung ke replika sekunder dari grup ketersediaan.
read_only_routing_url nvarchar(256) Titik akhir konektivitas (URL) dari replika ketersediaan baca-saja. Untuk informasi selengkapnya, lihat Mengonfigurasi perutean baca-saja untuk grup ketersediaan AlwaysOn.
seeding_mode kecil Salah satu:

0 = Otomatis
1 = Manual
seeding_mode_desc nvarchar(60) Menjelaskan mode penyemaian.

AUTOMATIC
MANUAL
read_write_routing_url nvarchar(256) Titik akhir konektivitas (URL) saat replika adalah yang utama. Untuk informasi selengkapnya, lihat Pengalihan koneksi baca/tulis replika sekunder ke primer (Grup Ketersediaan AlwaysOn).

Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru.

Izin

Memerlukan izin pada instans VIEW ANY DEFINITION server.