Halaman ini menjelaskan apa yang dimaksud dengan grup ketersediaan Always-On 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 kumpulan database yang dipilih, yang dikenal sebagai database ketersediaan. Setiap grup menyertakan satu kumpulan database utama untuk tugas baca dan tulis, dan hingga delapan kumpulan database sekunder yang sesuai. Database sekunder dapat mengizinkan akses hanya baca atau operasi pencadangan secara opsional.
Untuk informasi selengkapnya tentang grup ketersediaan Always On, lihat Apa yang dimaksud dengan grup ketersediaan Always On? dalam dokumentasi SQL Server.
Untuk informasi tentang prasyarat grup Ketersediaan Selalu Aktif 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 utama yang sesuai hingga sinkronisasi data berhenti. Konfirmasi transaksi hanya dikirim ke klien saat replika sekunder menulis data log transaksi yang masuk ke disk.
Untuk 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 mengambil log saat terjadi failover, lalu
menjalankan tugas pembersihan. Sebelum dapat melakukannya, Anda perlu mengubah langkah-langkah tugas Agent
CDC untuk memeriksa apakah replika saat ini benar-benar utama. 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
Langkah berikutnya
- Pelajari lebih lanjut cara kerja Datastream dengan sumber SQL Server.