Halaman ini menjelaskan apa yang dimaksud dengan grup ketersediaan AlwaysOn di SQL Server dan cara Datastream mendukungnya untuk skenario failover dan pemulihan data.
Ringkasan grup ketersediaan Always On
Di SQL Server, grup ketersediaan Always On adalah solusi ketersediaan tinggi yang memungkinkan Anda menyiapkan database untuk skenario pemulihan dari bencana (disaster recovery).
Grup ketersediaan Always On memaksimalkan ketersediaan database untuk bisnis. Grup ketersediaan mendukung lingkungan yang direplikasi untuk serangkaian database yang dipilih, yang dikenal sebagai database ketersediaan. Setiap grup mencakup satu set database utama untuk tugas baca dan tulis, serta hingga delapan set database sekunder yang sesuai. Database sekunder dapat secara opsional mengizinkan akses hanya baca atau operasi pencadangan.
Untuk mengetahui informasi selengkapnya tentang grup ketersediaan Always On, lihat Apa yang dimaksud dengan grup ketersediaan Always On? dalam dokumentasi SQL Server.
Untuk mengetahui informasi tentang prasyarat grup Ketersediaan Always On untuk instance SQL Server, lihat dokumentasi SQL Server.
Mengonfigurasi Datastream untuk digunakan dengan grup ketersediaan Always On
Datastream mendukung mode ketersediaan synchronous-commit dengan metode CDC tabel perubahan. Dalam mode ini, database sekunder tetap disinkronkan dengan database primer yang sesuai hingga sinkronisasi data berhenti. Konfirmasi transaksi hanya dikirim ke klien saat replika sekunder menulis catatan log transaksi yang masuk ke disk.
Untuk mengetahui informasi tentang mode ketersediaan, lihat Perbedaan antara mode ketersediaan untuk grup ketersediaan Always On.
Untuk mengonfigurasi instance SQL Server agar dapat digunakan dengan grup ketersediaan Always On, Anda harus mengaktifkan Agen SQL Server untuk merekam log saat terjadi failover, lalu menjalankan tugas pembersihan. Sebelum dapat melakukannya, Anda perlu
mengubah langkah-langkah tugas CDC Agent untuk memeriksa apakah replika saat ini benar-benar merupakan
primer. Hal ini dilakukan menggunakan fungsi sys.fn_hadr_is_primary_replica.
Gunakan perintah berikut untuk menyiapkan instance Anda:
-- Check if the current replica is a primary for the corresponding database.
USE [DATABASE_NAME];
DECLARE @DatabaseName SYSNAME = DB_NAME();
IF (SELECT sys.fn_hadr_is_primary_replica(@DatabaseName)) = 1
BEGIN
-- If the replica isn't a primary, the code block that follows is skipped
EXECUTE sys.sp_cdc_add_job @job_type = 'capture';
EXECUTE sys.sp_cdc_add_job @job_type = 'cleanup';
END
Batasan umum
Batasan umum untuk menggunakan Datastream dengan grup ketersediaan Always On meliputi:
- Datastream tidak mendukung resolusi DNS pribadi berdasarkan alamat IP pendengar. Anda harus mengalihkan alamat IP untuk replika secara manual.
- Setelah failover grup ketersediaan, Anda harus memastikan secara manual bahwa tugas pengambilan dan pembersihan Agen SQL Server berjalan di server utama yang baru. Jika tidak dilakukan, hal ini dapat menyebabkan hilangnya data jika log transaksi dipangkas sebelum Datastream dapat membaca perubahan.
- Jika replika dibuat lebih awal daripada yang utama, Anda harus menambahkan
label
always_on_availability: trueke aliran untuk mencegah masalah integritas data. Untuk mengetahui informasi tentang cara menambahkan label ke streaming, lihat Menentukan setelan untuk streaming.
Langkah berikutnya
- Pelajari lebih lanjut cara kerja Datastream dengan sumber SQL Server.