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 utama 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 mengalihkan permintaan koneksi aplikasi baca-niat ke replika sekunder yang dapat dibaca. Untuk informasi selengkapnya, lihat Mengonfigurasi Perutean Baca-Saja 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 setidaknya pada satu replika sekunder yang dapat dibaca, permintaan koneksi baca-niat 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 pendengar 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 baca-niat
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 Klien Asli SQL Server untuk Ketersediaan Tinggi, Pemulihan Bencana.
Perbolehkan koneksi baca-saja
Semua database sekunder tersedia untuk koneksi akses baca. Opsi ini memungkinkan klien versi yang lebih rendah untuk terhubung.
Untuk informasi selengkapnya, lihat Mengonfigurasi Akses Baca-Saja 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 untuk 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. Mengizinkan hanya koneksi baca-tulis yang dapat membantu mencegah pelanggan Anda menyambungkan 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 Baca-Saja 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 Upaya Koneksi |
---|---|---|---|
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 | Baca-niat saja | Niat baca | Berhasil |
Sekunder | Baca-niat saja | 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 | Baca-niat saja | 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 Listener Grup Ketersediaan, Konektivitas Klien, dan Failover Aplikasi (SQL Server).
Contoh Konfigurasi Akses Koneksi
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 baca-niat 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 baca-niat di bawah peran sekunder. Tabel berikut ini meringkas contoh konfigurasi ini:
Replika | Mode Penerapan | Peran Awal | Akses Koneksi untuk Peran Sekunder | Akses Koneksi untuk Peran Utama |
---|---|---|---|---|
Replika1 | Sinkron | Primer | Tidak | Baca-tulis |
Replika2 | Sinkron | Sekunder | Tidak | 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 baca-niat tidak dapat terhubung ke replika ketersediaan apa pun.
Tugas Terkait
Mengonfigurasi Akses Baca-Saja pada Replika Ketersediaan (SQL Server)
Mengonfigurasi Perutean Baca-Saja untuk Grup Ketersediaan (SQL Server)
Gunakan Kotak Dialog Grup Ketersediaan Baru (SQL Server Management Studio)
Konten Terkait
Panduan Solusi AlwaysOn Microsoft SQL Server untuk Ketersediaan Tinggi dan Pemulihan Bencana
Blog SQL Server Always On Team: Blog resmi SQL Server Always On Team
Lihat Juga
Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server)
Listener Grup Ketersediaan, Konektivitas Klien, dan Kegagalan Aplikasi (SQL Server)
Statistik