Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Setiap kali saksi ditentukan untuk sesi pencerminan database, kuorum diperlukan. Kuorum adalah hubungan yang ada ketika dua atau beberapa instans server dalam sesi pencerminan database terhubung satu sama lain. Biasanya, kuorum melibatkan tiga instans server yang saling terhubung. Ketika saksi dikonfigurasi, kuorum diperlukan untuk membuat basis data dapat diakses. Dirancang untuk mode keamanan tinggi dengan failover otomatis, kuorum memastikan bahwa database hanya dimiliki oleh satu mitra pada satu waktu.
Jika instans server tertentu terputus dari sesi pencerminan, instans tersebut kehilangan kuorum. Jika tidak ada instans server yang terhubung, sesi kehilangan kuorum dan database menjadi tidak tersedia. Tiga jenis kuorum dimungkinkan:
Kuorum lengkap mencakup mitra dan saksi.
Kuorum saksi-ke-mitra terdiri dari saksi dan salah satu mitra.
Kuorum mitra-ke-mitra terdiri dari dua mitra.
Gambar berikut menunjukkan jenis kuorum ini.
Selama server utama saat ini memiliki kuorum, server ini memiliki peran utama dan terus melayani database, kecuali pemilik database melakukan failover manual. Jika server utama kehilangan kuorum, server tersebut berhenti melayani database. Failover otomatis hanya dapat terjadi jika database utama telah kehilangan kuorum, yang menjamin bahwa itu tidak lagi melayani database.
Instans server yang terputus menyimpan peran terbarunya dalam sesi. Biasanya, instans server yang terputus terhubung kembali ke session saat dimulai ulang dan mendapatkan kembali kuorum, yaitu status mayoritas.
Penting
Saksi harus diatur hanya ketika Anda ingin menggunakan mode keselamatan tinggi dengan failover otomatis. Dalam mode performa tinggi, di mana saksi tidak pernah diperlukan, kami sangat menyarankan untuk menetapkan properti WITNESS ke OFF. Untuk informasi tentang dampak saksi pada mode kinerja tinggi, lihat Mode Operasi Pencerminan Database.
Kuorum pada Mode Sesi High-Safety
Dalam mode keamanan tinggi, kuorum memungkinkan failover otomatis dengan menyediakan konteks di mana instans server menentukan mitra mana yang memiliki peran utama. Server utama melayani database jika memiliki kuorum. Jika server utama kehilangan kuorum ketika server cermin yang disinkronkan dan bukti mempertahankan kuorum, failover otomatis terjadi.
Skenario kuorum untuk mode keamanan tinggi adalah sebagai berikut:
Kuorum penuh yang terdiri dari mitra dan saksi.
Biasanya, ketiga instans server berpartisipasi dalam kuorum tiga arah, yang disebut kuorum penuh. Dengan kuorum penuh, server utama dan cermin terus melakukan peran masing-masing (kecuali terjadi failover manual).
Kuorum saksi-ke-mitra yang terdiri dari saksi dan salah satu mitra.
Jika koneksi jaringan antara mitra hilang karena salah satu mitra telah hilang, kasus berikut dimungkinkan:
Server mirror mengalami kehilangan, dan server utama serta saksi tetap mempertahankan kuorum.
Dalam hal ini, prinsipal mengatur databasenya ke TERPUTUS dan berjalan dengan pencerminan dalam status SUSPENDED. (Ini disebut sebagai berlangsung tanpa perlindungan, karena database saat ini tidak dimirror.) Ketika server mirroring bergabung kembali dalam sesi, server mendapatkan kembali kuorum sebagai server mirroring dan mulai menyelaraskan ulang salinan database-nya.
Server utama tidak tersedia, tetapi server saksi dan server cermin tetap mempertahankan kuorum.
Dalam hal ini, failover otomatis terjadi. Untuk informasi selengkapnya, lihat Modus Operasi Pencerminan Database.
Semua instans server kehilangan kuorum, tetapi kemudian cermin dan saksi terhubung kembali. Database tidak akan dilayani dalam kasus ini.
Jarang sekali, koneksi jaringan antara mitra failover dapat terputus meskipun kedua mitra tetap terhubung ke pemantau. Dalam acara ini, ada dua kuorum saksi-dan-mitra terpisah, dengan saksi sebagai penghubung. Saksi menginformasikan server cermin bahwa server utama masih terhubung. Oleh karena itu, tidak terjadi failover otomatis. Sebaliknya, server cermin mempertahankan peran cerminnya dan menunggu untuk kembali terhubung ke server utama. Jika antrean pengulangan ulang berisi rekaman log pada saat ini, server pencerminan terus menggulung ke depan database pencerminan. Saat menyambungkan kembali, server cermin akan menyinkronkan ulang database cermin.
Kuorum mitra-ke-mitra yang terdiri dari dua mitra.
Selama mitra mempertahankan kuorum, database tetap dalam keadaan TERSINKRONISASI, dan failover manual tetap bisa dilakukan. Tanpa saksi, failover otomatis tidak dapat dilakukan; tetapi ketika saksi mendapatkan kembali kuorum, sesi kembali ke operasi normal, dan failover otomatis didukung kembali.
Sesi kehilangan kuorum.
Jika semua instans server terputus satu sama lain, sesi dikatakan kehilangan kuorum. Saat instans server terhubung kembali satu sama lain, mereka mendapatkan kembali kuorum satu sama lain.
Jika server utama terhubung kembali dengan salah satu instans server lainnya, database akan tersedia.
Jika server utama tetap terputus, tetapi cermin dan saksi terhubung kembali satu sama lain, failover otomatis tidak dapat terjadi karena kehilangan data mungkin terjadi. Oleh karena itu, database tetap tidak tersedia, sampai server utama bergabung kembali dengan sesi.
Ketika ketiga instans server telah terhubung kembali, kuorum penuh kembali, dan sesi melanjutkan operasi regulernya.
Penting
Ketika sesi memiliki kuorum mitra-ke-mitra, jika salah satu mitra kehilangan kuorum, sesi akan kehilangan kuorum. Karenanya, jika Anda memperkirakan saksi akan tetap terputus untuk waktu yang lama, kami sarankan Anda menghapus saksi sementara dari sesi. Menghapus saksi akan menghapus persyaratan untuk kuorum. Kemudian, jika server cermin terputus, server utama dapat terus melayani database. Untuk informasi tentang cara menambahkan atau menghapus saksi, lihat Bukti Pencerminan Database.
Bagaimana Kuorum Memengaruhi Ketersediaan Database
Ilustrasi berikut menunjukkan bagaimana saksi dan mitra bekerja sama untuk memastikan bahwa, pada waktu tertentu, hanya satu mitra yang memiliki peran utama dan hanya server utama saat ini yang dapat membawa database-nya online. Kedua skenario dimulai dengan kuorum penuh, dan Partner_A dalam peran utama dan Partner_B dalam peran cermin.
Skenario 1 menunjukkan bagaimana setelah server utama asli (Partner_A) gagal, saksi dan server cermin setuju bahwa prinsipal, Partner_A, tidak tersedia lagi dan membentuk kuorum. Cermin, Partner_B kemudian mengasumsikan peran utama. Failover otomatis terjadi, dan Partner_B, membawa salinan database secara online. Kemudian Partner_B mengalami kerusakan, dan database menjadi tidak aktif. Kemudian, mantan server utama, Partner_A, terhubung kembali ke saksi dan mendapatkan kembali kuorum. Namun, saat berkomunikasi dengan saksi, Partner_A mengetahui bahwa ia tidak dapat mengaktifkan salinan databasenya, karena peran utama sekarang dimiliki oleh Partner_B. Ketika Partner_B bergabung kembali dengan sesi, itu membawa database kembali online.
Dalam Skenario 2, saksi kehilangan kuorum, sementara mitra, Partner_A dan Partner_B, mempertahankan kuorum satu sama lain, dan database tetap online. Kemudian rekanan juga kehilangan kuorum mereka, dan database menjadi tidak dapat diakses. Kemudian, server utama, Partner_A, terhubung kembali ke saksi untuk memulihkan kembali kuorum. Saksi mengonfirmasi bahwa Partner_A masih memiliki peran utama, dan Partner_A membawa database kembali online.
Lihat Juga
Mode Operasi Pencerminan Database
Pengalihan Peran Selama Sesi Pencerminan Database (SQL Server)
Bukti Pencerminan Database
Kemungkinan Kegagalan Selama Pencerminan Database
Status Pencerminan (SQL Server)