Jenis koneksi klien ke replika dalam grup ketersediaan AlwaysOn

Berlaku untuk:SQL Server

Dalam grup ketersediaan AlwaysOn, Anda dapat mengonfigurasi satu atau beberapa replika ketersediaan untuk mengizinkan koneksi baca-saja saat berjalan di bawah peran sekunder (yaitu, saat berjalan sebagai replika sekunder). Anda juga dapat mengonfigurasi setiap replika ketersediaan untuk mengizinkan atau mengecualikan koneksi baca-saja saat berjalan di bawah peran utama (yaitu, saat berjalan sebagai replika utama).

Untuk memfasilitasi akses klien ke database primer atau sekunder dari grup ketersediaan tertentu, Anda harus menentukan pendengar grup ketersediaan. Secara default, pendengar grup ketersediaan mengarahkan koneksi masuk ke replika utama. Namun, Anda dapat mengonfigurasi grup ketersediaan untuk mendukung perutean baca-saja, yang memungkinkan pendengar grup ketersediaannya untuk mengalihkan permintaan koneksi aplikasi niat baca ke replika sekunder yang dapat dibaca. Untuk informasi selengkapnya, lihat Mengonfigurasi Perutean Read-Only untuk Grup Ketersediaan (SQL Server).

Selama failover, replika sekunder beralih ke peran utama dan replika utama sebelumnya beralih ke peran sekunder. Selama proses failover, semua koneksi klien ke replika utama dan replika sekunder dihentikan. Setelah failover, ketika klien terhubung kembali ke pendengar grup ketersediaan, pendengar menyambungkan kembali klien ke replika utama baru, kecuali untuk permintaan koneksi niat baca. Jika perutean baca-saja dikonfigurasi pada klien dan pada instans server yang menghosting replika utama baru dan pada setidaknya satu replika sekunder yang dapat dibaca, permintaan koneksi niat baca dirutekan kembali ke replika sekunder yang mendukung jenis akses koneksi yang diperlukan klien. Untuk memastikan pengalaman klien yang anggun setelah failover, penting untuk mengonfigurasi akses koneksi untuk peran sekunder dan utama dari setiap replika ketersediaan.

Catatan

Untuk informasi tentang listener grup ketersediaan, yang menangani permintaan koneksi klien, lihat Listener Grup Ketersediaan, Konektivitas Klien, dan Failover Aplikasi (SQL Server).

Jenis Akses Koneksi yang Didukung oleh Peran Sekunder

Peran sekunder mendukung tiga alternatif untuk koneksi klien, sebagai berikut:

Tidak ada koneksi
Tidak ada koneksi pengguna yang diizinkan. Database sekunder tidak tersedia untuk akses baca. Ini adalah perilaku default dalam peran sekunder.

Hanya koneksi niat baca
Database sekunder hanya tersedia untuk koneksi di mana properti koneksi Niat Aplikasi diatur ke ReadOnly (koneksi baca-niat).

Untuk informasi tentang properti koneksi ini, lihat Dukungan SQL Server Native Client untuk Ketersediaan Tinggi, Pemulihan Bencana.

Perbolehkan koneksi baca-saja
Database sekunder semuanya tersedia untuk koneksi akses baca. Opsi ini memungkinkan klien versi yang lebih rendah untuk terhubung.

Untuk informasi selengkapnya, lihat Mengonfigurasi Akses Read-Only pada Replika Ketersediaan (SQL Server).

Jenis Akses Koneksi yang Didukung oleh Peran Utama

Peran utama mendukung dua alternatif untuk koneksi klien, sebagai berikut:

Semua koneksi diperbolehkan
Koneksi baca-tulis dan baca-saja diizinkan ke database utama. Ini adalah perilaku default untuk peran utama.

Perbolehkan hanya koneksi baca-tulis
Ketika properti koneksi Niat Aplikasi diatur ke ReadWrite atau tidak diatur, koneksi diizinkan. Koneksi yang kata kunci string koneksi Niat Aplikasi diatur ke ReadOnly tidak diizinkan. Hanya mengizinkan koneksi baca-tulis dapat membantu mencegah pelanggan Anda menghubungkan beban kerja niat baca ke replika utama secara tidak sengaja.

Untuk informasi tentang properti koneksi ini, lihat Menggunakan Kata Kunci String Koneksi dengan SQL Server Native Client.

Untuk informasi selengkapnya, lihat Mengonfigurasi Akses Read-Only pada Replika Ketersediaan (SQL Server).

Bagaimana Konfigurasi Akses Koneksi Memengaruhi Konektivitas Klien

Pengaturan akses koneksi replika menentukan apakah upaya koneksi gagal atau berhasil. Tabel berikut ini meringkas apakah upaya koneksi tertentu berhasil atau gagal untuk setiap pengaturan akses koneksi.

Peran Replika Akses Koneksi Didukung pada Replika Niat Koneksi Hasil Connection-Attempt
Sekunder Semua Niat baca, baca-tulis, atau tidak ada niat koneksi yang ditentukan Berhasil
Sekunder Tidak ada (Ini adalah perilaku sekunder default.) Niat baca, baca-tulis, atau tidak ada niat koneksi yang ditentukan Kegagalan
Sekunder Hanya niat baca Niat baca Berhasil
Sekunder Hanya niat baca Baca-tulis atau tidak ada niat koneksi yang ditentukan Kegagalan
Primer Semua (Ini adalah perilaku utama default.) Baca-saja, baca-tulis, atau tidak ada niat koneksi yang ditentukan Berhasil
Primer Baca-tulis Hanya niat baca Kegagalan
Primer Baca-tulis Baca-tulis atau tidak ada niat koneksi yang ditentukan Berhasil

Untuk informasi tentang mengonfigurasi grup ketersediaan untuk menerima koneksi klien ke replikanya, lihat Pendengar Grup Ketersediaan, Konektivitas Klien, dan Failover Aplikasi (SQL Server).

Contoh Konfigurasi Connection-Access

Bergantung pada bagaimana replika ketersediaan yang berbeda dikonfigurasi untuk akses koneksi, dukungan untuk koneksi klien mungkin berubah setelah grup ketersediaan gagal. Misalnya, pertimbangkan grup ketersediaan yang pelaporannya dilakukan pada replika sekunder penerapan asinkron jarak jauh. Semua aplikasi baca-saja untuk database dalam grup ketersediaan ini mengatur properti koneksi Niat Aplikasi mereka ke ReadOnly, sehingga semua koneksi baca-saja adalah koneksi niat baca.

Contoh grup ketersediaan ini memiliki dua replika penerapan sinkron di pusat komputasi utama dan dua replika penerapan asinkron di situs satelit. Untuk peran utama, semua replika dikonfigurasi untuk akses baca-tulis, yang mencegah koneksi niat baca ke replika utama dalam semua situasi. Peran sekunder penerapan sinkron menggunakan konfigurasi akses koneksi default ("tidak ada"), yang mencegah semua koneksi klien di bawah peran sekunder. Sebaliknya, replika penerapan asinkron dikonfigurasi untuk mengizinkan koneksi niat baca di bawah peran sekunder. Tabel berikut ini meringkas konfigurasi contoh ini:

Replika Mode Penerapan Peran Awal Akses Koneksi untuk Peran Sekunder Akses Koneksi untuk Peran Utama
Replika1 Sinkron Primer Tidak ada Baca-tulis
Replika2 Sinkron Sekunder Tidak ada Baca-tulis
Replika3 Asinkron Sekunder Baca-intentonly Baca-tulis
Replika4 Asinkron Sekunder Baca-niat saja Baca-tulis

Biasanya, dalam skenario contoh ini, failover hanya terjadi antara replika penerapan sinkron, dan segera setelah failover, aplikasi baca-niat dapat terhubung kembali ke salah satu replika sekunder penerapan asinkron. Namun, ketika bencana terjadi di pusat komputasi utama, kedua replika penerapan sinkron hilang. Administrator database di situs satelit merespons dengan melakukan failover manual paksa ke replika sekunder penerapan asinkron. Database sekunder pada replika sekunder yang tersisa ditangguhkan oleh failover paksa, membuatnya tidak tersedia untuk beban kerja baca-saja. Replika utama baru, yang dikonfigurasi untuk koneksi baca-tulis, mencegah beban kerja baca-niat bersaing dengan beban kerja baca-tulis. Ini berarti bahwa sampai administrator database melanjutkan database sekunder pada replika sekunder penerapan asinkron yang tersisa, klien niat baca tidak dapat terhubung ke replika ketersediaan apa pun.

Tugas Terkait

Konten terkait

Lihat juga

Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server)
Listener Grup Ketersediaan, Konektivitas Klien, dan Kegagalan Aplikasi (SQL Server)
Statistik