Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menyiapkan dan Mengonfigurasi Grup Ketersediaan Selalu Aktif di SQL Server

SQL Server memberi kami sejumlah ketersediaan tinggi dan solusi pemulihan bencana yang membantu dalam membuat data yang melayani sistem kritis tersedia untuk waktu yang paling lama dengan waktu henti yang seminimal mungkin. Solusi pemulihan bencana dan ketersediaan tinggi yang disediakan oleh Microsoft SQL Server ini dibahas dalam artikel Log Transaksi SQL Server dan Solusi Ketersediaan Tinggi.

Dalam artikel ini, kami akan menunjukkan cara menyiapkan dan mengonfigurasi situs Grup Ketersediaan dan mengonfigurasinya untuk memenuhi persyaratan perusahaan. Namun, mari kita mulai dengan ikhtisar singkat tentang fitur Grup Ketersediaan Selalu Aktif untuk memahaminya.

Ringkasan

SQL Server Always-on Availability Group, diperkenalkan di versi SQL Server 2012, adalah solusi pemulihan bencana dan ketersediaan tinggi tingkat perusahaan yang dibangun di atas fitur Windows Server Failover Clustering, di mana satu atau beberapa database dapat bertindak sebagai satu grup ketersediaan dan gagal sebagai satu unit.

Grup Ketersediaan adalah wadah untuk kumpulan database yang dihosting dalam satu replika utama, berisi salinan baca-tulis database, dan disinkronkan dengan hingga delapan replika sekunder, berisi salinan database ini hanya-baca.

Sebagai alternatif untuk fitur pencerminan database, Always on Availability Group dapat digunakan untuk mengurangi beban pada instans utama dengan mengonfigurasi replika sekunder untuk menangani beban kerja baca-saja dan operasi pencadangan. Dengan cara ini, Always-on Availability Group dapat digunakan untuk meningkatkan ketersediaan database dan meningkatkan pemanfaatan sumber daya SQL Server untuk semua replika.

Proses sinkronisasi antara replika Grup Ketersediaan dapat dilakukan di salah satu dari dua mode ketersediaan yang didukung:

  • Mode komitmen sinkron :Dalam mode ketersediaan ini, replika utama akan menunggu replika sekunder, hingga dua replika sekunder sinkron, untuk mengonfirmasi penulisan log di file log transaksi database mereka, sebelum melakukan itu di replika utama. Mode ketersediaan ini meningkatkan tingkat ketersediaan data di atas harga latensi transaksi.
  • Mode komitmen asinkron :Mode ketersediaan ini digunakan terutama untuk menyinkronkan dengan replika pemulihan bencana, yang didistribusikan melalui pusat data yang jauh, di mana replika utama tidak akan menunggu replika sekunder, untuk mengonfirmasi pengerasan log untuk melakukan transaksi di sisi utama, menyediakan lebih sedikit data tingkat ketersediaan dan latensi transaksi yang lebih sedikit.

Proses failover Grup Ketersediaan Selalu aktif, di mana peran utama akan diubah di antara replika, dapat dilakukan secara manual oleh administrator database atau secara otomatis oleh SQL Server itu sendiri jika terjadi kegagalan tingkat server, dengan mempertimbangkan bahwa ini failover tidak akan terjadi jika ada masalah tingkat basis data seperti kerusakan basis data.

Untuk setiap Grup Ketersediaan, nama Server dapat dibuat untuk memberi klien kemampuan untuk terhubung langsung ke replika utama atau replika baca-saja tanpa mengingat nama dan peran contoh SQL Server yang mendasari dalam grup ketersediaan. Nama server ini disebut Availability Group Listener .

Skenario Demo

Setelah memberikan pengenalan singkat untuk fitur Grup Ketersediaan Selalu Aktif, kami siap untuk menyiapkan Grup Ketersediaan dan mengonfigurasinya dengan benar. Dalam demo ini, kami akan membuat Grup Ketersediaan untuk mereplikasi database AdventureWorks2017 antara dua contoh SQL Server; SQL1 dan SQL2, dengan SQL Server 2017 sudah terinstal di server ini.

Untuk tujuan pengujian dan demo, Layanan SQL Server di instans SQL1 dan SQL2 berjalan di bawah akun layanan ay\sqladmin, yang memiliki izin yang tepat pada instans SQL Server ini.

Memulai

Seperti disebutkan dalam ikhtisar artikel ini, fitur Grup Ketersediaan Selalu aktif dibangun di atas fitur Kluster Failover Server Windows. Jadi, kita perlu membuat situs pengelompokan failover di mana kita akan mendefinisikan situs Availability Group.

Buat Cluster Failover

Pertama-tama, kita perlu memastikan bahwa fitur Failover Clustering diinstal pada semua replika yang akan berpartisipasi di situs Availability Group. Ini dapat dilakukan dengan membuka dasbor Server Manager pada setiap replika dan memilih opsi Add Roles and Features dari menu Manage, lalu centang dan instal Failover Clustering fitur dari penyihir itu, seperti yang ditunjukkan di bawah ini:

Setelah menginstal fitur Failover Clustering, buka Failover Cluster Manager jendela di salah satu replika, menggunakan akun administrator lokal resmi dengan hak Administrator Domain yang memungkinkannya membuat nama cluster itu di direktori aktif, dan klik Buat Cluster pilihan, seperti di bawah ini:

Dari Buat Cluster Wizard . yang dibuka , periksa petunjuk yang diberikan di Sebelum Anda Mulai jendela, dan klik Berikutnya untuk melanjutkan:

Di halaman berikutnya, berikan nama atau IP replika yang akan berpartisipasi dalam Grup Ketersediaan lalu klik berikutnya untuk melanjutkan:

Setelah itu, Anda perlu menentukan apakah akan menjalankan uji validasi cluster, untuk memvalidasi bahwa sumber daya yang tersedia di server tersebut kompatibel dengan fitur Failover Clustering, sebelum membuat Failover Cluster atau tidak. Selalu disarankan untuk melakukan uji validasi pada langkah tersebut sebelum mencoba membuat situs Failover Cluster.

Ini akan mengarahkan Anda ke Validasi Wizard Konfigurasi . Di halaman pertama wizard validasi, periksa petunjuk wizard dan klik Berikutnya untuk melanjutkan:

Setelah itu, Anda perlu menentukan apakah akan menjalankan semua validasi Failover Cluster, yang merupakan opsi yang disarankan, atau memilih tes spesifik yang lebih cepat. Dalam demo ini, kita akan menggunakan opsi yang direkomendasikan Microsoft dan melakukan semua tes validasi, lalu klik Berikutnya untuk melanjutkan:

Dan Anda dapat meninjau pengujian validasi yang akan dilakukan dalam wizard validasi ini dan mengonfirmasi untuk melanjutkan dengan mengeklik Berikutnya , sebagai berikut:

Setelah proses validasi selesai, Anda dapat mengklik tombol Lihat Laporan untuk meninjau hasil uji validasi atau mengekspornya ke teknisi lain untuk memperbaiki masalah yang dihadapi, atau mengklik Selesai secara langsung untuk memulai proses pembuatan cluster, seperti di bawah ini:

Untuk saat ini, kami memeriksa apakah server kami kompatibel dengan persyaratan fitur Failover Clustering dan kami dapat terus membuat situs Failover Clustering. Di Titik Akses untuk Mengelola Cluster jendela, berikan nama unik dan alamat IP untuk Failover Cluster, lalu klik Berikutnya untuk melanjutkan:

Setelah itu, tinjau setelan pembuatan cluster yang Anda berikan, dan pastikan untuk menghapus centang di samping Tambahkan semua penyimpanan yang memenuhi syarat ke kluster , karena fitur Always on Availability Group berfungsi menggunakan penyimpanan khusus untuk setiap server dan TIDAK penyimpanan bersama. Jika Anda setuju dengan pengaturannya, klik Berikutnya untuk melanjutkan:

Setelah situs Failover Clustering berhasil dibuat, wizard akan memberi tahu Anda dengan pesan bahwa situs Failover Clustering telah dibuat sepenuhnya, seperti di bawah ini:

Anda dapat memverifikasi bahwa situs Failover Cluster berhasil dibuat, dengan membuka Failover Cluster Manager, yang akan menunjukkan kepada Anda situs cluster yang dibuat, dan semua komponen cluster tersebut seperti yang ditunjukkan di bawah ini:

Untuk menjaga situs Failover Cluster dalam mode ketersediaan terbaik, Anda perlu mengonfigurasi Kuorum cluster yang mengontrol kapan harus menyimpan Failover Cluster online atau mengubahnya menjadi offline berdasarkan suara node dan sumber daya. Untuk mengonfigurasi kuorum cluster, klik kanan pada nama cluster, di bawah manajer Failover Cluster, dan pilih Configure Cluster Quorum Settings opsi dari Tindakan Lainnya menunya seperti di bawah ini. Untuk informasi mendetail tentang pengaturan kuorum yang sesuai dengan fitur Always On Availability Group, periksa Mode Kuorum Failover Cluster Windows di SQL Server Always On Availability Groups:

Aktifkan Fitur Grup Selalu Tersedia

Setelah membuat Failover Cluster, di mana Availover Group akan dibuat, kita perlu mengaktifkan fitur Always-on Availability Group dan menghubungkannya ke situs Failover Cluster yang akan digunakan.

Untuk mengaktifkan fitur Always-on Availability Group, buka SQL Server Configuration Manager -> SQL Server Services lalu klik kanan pada layanan SQL Server dan pilih opsi Properties. Dari jendela properti Layanan SQL Server, pindah ke Ketersediaan Selalu Aktif dan centang “Aktifkan Grup yang Selalu Tersedia ”, di bawah nama Failover Cluster yang terdeteksi secara otomatis, seperti yang ditunjukkan di bawah ini:

Mempertimbangkan bahwa, perubahan ini harus dilakukan pada semua replika yang akan berpartisipasi dalam grup ketersediaan dan akan berlaku setelah memulai ulang layanan SQL Server, seperti di bawah ini:

Buat Grup Ketersediaan Baru yang Selalu Aktif

Setelah mengaktifkan fitur Always-on Availability Group, kita akan mulai membuat Availability Group baru dengan memperluas node Always-on High Availability, di bawah SSMS Object Explorer, lalu klik kanan pada node Availability Groups dan pilih New Wizard Grup Ketersediaan , seperti yang ditunjukkan di bawah ini:

Laman pertama di wizard Grup Ketersediaan Baru adalah halaman Pendahuluan, di mana Anda dapat menemukan deskripsi singkat tentang langkah-langkah yang akan dilakukan di bawah panduan ini untuk membuat Grup Ketersediaan baru. Tinjau ringkasan yang diberikan lalu klik Berikutnya untuk melanjutkan:

Di Tentukan Opsi Grup Ketersediaan jendela, Anda perlu menentukan nama Grup Ketersediaan, jenis cluster, berdasarkan versi SQL Server dan Sistem operasi yang digunakan pada replika, di mana Anda dapat memilih dari Pengelompokan Failover Server Windows , EKSTERNAL non-Windows kluster atau TIDAK ADA jika tidak ada cluster yang digunakan.

Laman ini juga memungkinkan Anda untuk mengaktifkan Deteksi kesehatan tingkat basis data opsi, yang memeriksa kapan database tidak lagi dalam status online, dan melakukan failover otomatis grup ketersediaan dan mengaktifkan transaksi terdistribusi dalam grup ketersediaan per setiap database, seperti yang ditunjukkan di bawah ini:

Setelah itu, Anda perlu memilih database yang akan berpartisipasi dalam Grup Ketersediaan tersebut. Wisaya akan memeriksa pra-permintaan untuk database untuk ditambahkan ke grup Ketersediaan, termasuk model pemulihan penuh database dan bahwa cadangan penuh diambil dari database itu sebelum menambahkannya. Setelah memenuhi persyaratan untuk database yang akan disertakan, segarkan daftar database, periksa database lalu klik Berikutnya untuk melanjutkan:

Di laman berikutnya, di bawah Replika tab, Anda perlu menambahkan semua replika SQL Server yang akan berpartisipasi dalam Grup Ketersediaan ini dan menghosting salinan dari database yang disertakan. Setelah menambahkan replika, Anda dapat memilih hingga tiga instans untuk dikonfigurasikan dengan mode ketersediaan komit sinkron dan mengizinkan Failover Otomatis antara replika ini dan replika lainnya yang akan dikonfigurasi dengan mode komit Asinkron. Anda juga dapat memutuskan apakah akan mengonfigurasi setiap replika sebagai sekunder yang dapat dibaca untuk koneksi hanya-baca atau replika yang dapat dibaca maksud-baca untuk menangani beban kerja hanya-baca yang diarahkan secara otomatis oleh pendengar, seperti yang ditunjukkan di bawah ini:

Di tab Titik akhir, periksa pengaturan titik akhir koneksi yang akan digunakan untuk komunikasi antara replika, di mana Anda perlu memastikan bahwa port TCP yang digunakan diaktifkan dalam aturan firewall semua replika dan bahwa akun layanan yang disediakan memiliki Sambungkan izin pada titik akhir replika, seperti di bawah ini:

Di tab Preferensi Cadangan, Anda perlu menentukan lokasi di mana pekerjaan pencadangan akan dijalankan di grup ketersediaan. Ini memungkinkan Anda untuk melakukan pencadangan otomatis dari replika sekunder sebagai opsi pilihan, sekunder sebagai keharusan, primer sebagai keharusan, atau replika apa pun. Berdasarkan opsi ini, Anda dapat membuat rencana pemeliharaan untuk mengambil cadangan dari database yang berpartisipasi dalam grup ketersediaan, seperti di bawah ini:

Dari jendela yang sama, Anda juga dapat menentukan pengaturan pendengar grup ketersediaan, di bawah halaman Pendengar atau melanjutkan tanpa membuat pendengar untuk saat ini dan melakukan pembuatan nanti. Dalam demo ini, kami akan mengonfigurasi pendengar setelah membuat grup ketersediaan, seperti yang ditunjukkan di bawah ini:

Selain itu, Anda dapat menggunakan halaman Perutean Hanya-Baca untuk menentukan daftar perutean hanya-baca, yang digunakan untuk mengontrol beban kerja hanya-baca dalam sekunder. Untuk informasi selengkapnya, periksa Cara Mengonfigurasi Perutean Hanya-Baca untuk Grup Ketersediaan di SQL Server 2016:

Pada halaman berikutnya, Anda perlu menentukan mekanisme yang akan digunakan untuk proses sinkronisasi data awal antara replika primer dan sekunder, dengan kemampuan untuk melakukan sinkronisasi secara otomatis atau manual dengan menggabungkan sekunder ke grup ketersediaan dan menyinkronkan database nanti secara manual.

Ada dua metode sinkronisasi otomatis yang tersedia di wizard itu, yang pertama adalah menentukan folder bersama untuk menyalin cadangan lengkap dan log transaksi sementara dan melakukan pemulihan secara otomatis, yang akan kita gunakan di sini dalam demo ini, atau gunakan metode Direct Seeding tanpa mengambil cadangan, seperti yang dijelaskan dalam SQL Server 2016 Always On Availability Group dengan Direct Seding:

Untuk menggunakan Database Lengkap dan Cadangan Log metode, kita perlu membuat folder bersama dan menyediakan akun layanan SQL Server untuk replika izin baca dan tulis di folder itu, seperti yang ditunjukkan di bawah ini:

Setelah itu, wizard Grup Ketersediaan Baru akan melakukan pemeriksaan validasi untuk semua konfigurasi sebelum melanjutkan proses pembuatan grup ketersediaan. Jika ada kesalahan, Anda dapat memperbaikinya secara langsung kemudian menyegarkan halaman dan klik Berikutnya untuk melanjutkan:

Pada tahap terakhir, wizard akan memberi Anda ringkasan untuk semua konfigurasi wizard untuk ditinjau, lalu klik Selesai untuk mulai membuat grup ketersediaan, seperti di bawah ini:

Ketika wizard selesai, itu akan menunjukkan kepada Anda hasil dari setiap langkah dan jika ada kesalahan yang dihadapi. Jika tidak, itu akan menampilkan pesan bahwa Grup Ketersediaan berhasil dibuat tanpa masalah, seperti yang ditunjukkan di bawah ini:

Anda juga dapat memvalidasi bahwa Always on Availability Group berhasil dibuat dan dikonfigurasi menggunakan SSMS Object Explorer, dengan memeriksa bahwa database yang berpartisipasi dalam keadaan tersinkronisasi di semua replika dan replika serta database online di bawah Always-on Node Ketersediaan Tinggi, seperti yang ditunjukkan di bawah ini:

Anda juga dapat menyambungkan ke replika Utama, dengan kata Utama di samping nama grup ketersediaan, dan memeriksa halaman properti Grup Ketersediaan, dengan kemampuan untuk melakukan tugas yang sama yang kami lakukan di bawah Panduan Grup Ketersediaan Baru, seperti menambahkan replika baru , menambahkan database baru, mengubah setiap konfigurasi replika, mengubah preferensi pencadangan, dan menentukan daftar perutean hanya-baca, seperti yang ditunjukkan di bawah ini:

Buat Listener Grup Ketersediaan Selalu Aktif

Langkah terakhir dalam mengonfigurasi Grup Ketersediaan adalah membuat pendengar grup ketersediaan yang akan digunakan saat menyambungkan ke replika primer dan sekunder tanpa menentukan nama replika.

Untuk membuat pendengar grup ketersediaan, klik kanan pada node Pendengar Grup Ketersediaan di bawah node grup ketersediaan yang dibuat dan pilih Tambahkan Pemroses pilihan. Dari Pendengar Grup Ketersediaan Baru . yang dibuka jendela, berikan nama pendengar itu, port TCP yang akan digunakan untuk terhubung ke pendengar itu dan alamat IP statis yang akan diberikan ke pendengar itu lalu klik OK untuk menciptakannya. Ketika listener berhasil dibuat, jendela akan ditutup secara otomatis dan nama listener akan ditampilkan di bawah node Listener, seperti yang ditunjukkan di bawah ini:

Untuk terhubung ke Grup Ketersediaan menggunakan nama pendengar, berikan nama atau IP pendengar dengan nomor port TCP di Connect to Server dan itu akan terhubung langsung ke node utama, seperti yang ditunjukkan di bawah ini:

Proses Uji Kegagalan

Setelah menguji koneksi ke pendengar Availability Group dan replika, kita perlu melakukan pengujian penting untuk failover, untuk memastikan bahwa peran utama akan dipindahkan di antara replika tanpa masalah apa pun, dan bahwa database akan dapat dijangkau dan di status tersinkronisasi setelah failover.

Untuk melakukan failover manual, klik kanan pada nama grup ketersediaan dan pilih Failover pilihan, seperti di bawah ini:

Laman pertama di Grup Ketersediaan Failover wizard adalah halaman Pendahuluan, yang menyediakan ringkasan tindakan yang dapat dilakukan di wizard tersebut. Tinjau pendahuluan dan klik Berikutnya untuk melanjutkan:

Di halaman berikutnya, pilih node mana yang akan bertindak sebagai replika Utama baru, pastikan tidak ada kehilangan data yang akan terjadi saat operasi failover dilakukan, lalu klik Berikutnya untuk melanjutkan:

Setelah itu, Anda harus terhubung ke replika Utama baru yang Anda pilih untuk memastikan bahwa replika ini online dan dapat dijangkau, seperti yang ditunjukkan di bawah ini:

Kemudian tinjau pilihan Anda dalam wizard Failover di halaman ringkasan dan klik Finish untuk memulai proses Failover:

Ketika failover selesai, tinjau halaman hasil untuk memastikan bahwa tidak ada masalah yang dihadapi selama proses failover, seperti di bawah ini:

Dari SSMS Object Explorer, peran replika SQL1 akan langsung diubah menjadi Sekunder, seperti yang ditunjukkan di bawah ini:

Dalam artikel ini, kami menjelaskan secara rinci, langkah-langkah yang harus dilakukan untuk mempersiapkan pembuatan situs Grup Ketersediaan dan cara membuat dan mengonfigurasi situs Grup Ketersediaan Selalu Aktif. Di artikel berikutnya, kita akan melihat cara memecahkan masalah yang mungkin Anda hadapi dengan situs Grup Ketersediaan yang ada. Pantau terus.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan Variabel dalam Query OPENROWSET

  2. SQL Server 2016

  3. Saran untuk menerapkan tabel audit di SQL Server?

  4. Hasilkan nilai int acak dari 3 hingga 6

  5. Cara mendeteksi dan mencegah pertumbuhan tak terduga dari database SQL Server TempDB