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.
Pencerminan database dapat digunakan bersama dengan replikasi untuk meningkatkan ketersediaan untuk database publikasi. Pencerminan database melibatkan dua salinan database tunggal yang biasanya berada di komputer yang berbeda. Pada waktu tertentu, hanya satu salinan database yang saat ini tersedia untuk klien. Salinan ini dikenal sebagai database utama. Pembaruan yang dibuat oleh klien ke database utama diterapkan pada salinan database lainnya, yang dikenal sebagai database cermin. Pencerminan melibatkan penerapan log transaksi dari setiap penyisipan, pembaruan, atau penghapusan yang dilakukan pada database utama ke database cermin.
Failover replikasi ke mirror didukung penuh untuk database penerbitan, dengan dukungan terbatas untuk database pelanggan. Pencerminan database tidak didukung untuk database distribusi. Untuk informasi tentang memulihkan database distribusi atau database langganan tanpa perlu mengonfigurasi ulang replikasi, lihat Mencadangkan dan Memulihkan Database yang Direplikasi. Untuk informasi tentang replikasi database pelanggan, lihat
Nota
Setelah proses failover, replika menjadi server utama. Dalam topik ini, "principal" dan "mirror" selalu merujuk ke "principal" dan "mirror" asli.
Persyaratan dan Pertimbangan untuk Menggunakan Replikasi dengan Pencerminan Database
Perhatikan persyaratan dan pertimbangan berikut saat menggunakan replikasi dengan pencerminan database:
Perwakilan dan cermin harus berbagi Distributor. Kami menyarankan agar ini menjadi Distributor jarak jauh, yang memberikan toleransi kesalahan yang lebih besar jika Publisher memiliki failover yang tidak direncanakan.
Replikasi mendukung pencerminan database publikasi untuk replikasi penggabungan dan replikasi transaksional dengan Pengguna baca saja atau Pengguna pembaruan yang diantrekan. Pembaruan langsung tidak didukung untuk Pelanggan, Penerbit Oracle, Penerbit dalam topologi peer-to-peer, dan penerbitan ulang.
Metadata dan objek yang ada di luar database tidak disalin ke cermin, termasuk login, pekerjaan, server tertaut, dan sebagainya. Jika Anda memerlukan metadata dan objek di cermin, Anda harus menyalinnya secara manual. Untuk informasi selengkapnya, lihat Manajemen Login dan Pekerjaan Setelah Pengalihan Peran (SQL Server).
Mengonfigurasi Replikasi dengan Pencerminan Database
Mengonfigurasi replikasi dan pencerminan database melibatkan lima langkah. Setiap langkah dijelaskan secara lebih rinci di bagian berikut.
Mengonfigurasi Publisher.
Mengonfigurasi pencerminan database.
Konfigurasikan cermin untuk menggunakan Distributor yang sama dengan prinsipal.
Konfigurasikan agen replikasi untuk pemulihan otomatis.
Tambahkan utama dan pencerminan ke Monitor Replikasi.
Langkah 1 dan 2 juga dapat dilakukan dalam urutan yang berlawanan.
Untuk mengonfigurasi pencerminan database untuk database publikasi
Mengonfigurasi Penerbit:
Sebaiknya gunakan Distributor jarak jauh. Untuk informasi selengkapnya tentang mengonfigurasi distribusi, lihat Mengonfigurasi Distribusi.
Anda dapat mengaktifkan database untuk rekam jepret dan publikasi transaksi dan/atau menggabungkan publikasi. Untuk database cermin yang akan berisi lebih dari satu jenis publikasi, Anda harus mengaktifkan database untuk kedua jenis pada simpul yang sama menggunakan sp_replicationdboption. Misalnya, Anda dapat menjalankan panggilan prosedur tersimpan berikut di prinsipal:
exec sp_replicationdboption @dbname='<PublicationDatabase>', @optname='publish', @value=true; exec sp_replicationdboption @dbname='<PublicationDatabase>', @optname='mergepublish', @value=true;Untuk informasi selengkapnya tentang membuat publikasi, lihat Menerbitkan Data dan Objek Database.
Mengonfigurasi pencerminan database. Untuk informasi selengkapnya, lihat Membuat Sesi Pencerminan Database Menggunakan Autentikasi Windows (SQL Server Management Studio) dan Menyiapkan Pencerminan Database (SQL Server).
Mengonfigurasi distribusi untuk cermin. Tentukan nama mirror sebagai Penerbit, dan tentukan Distributor dan folder snapshot yang sama dengan yang digunakan principal. Misalnya, jika Anda mengonfigurasi replikasi dengan prosedur tersimpan, jalankan sp_adddistpublisher di Distributor; lalu jalankan sp_adddistributor di cermin. Untuk sp_adddistpublisher:
Atur nilai parameter @publisher ke nama jaringan cermin.
Atur nilai parameter @working_directory ke folder rekam jepret yang digunakan oleh prinsipal.
Tentukan nama pendamping untuk parameter agen -PublisherFailoverPartner. Agen Parameter ini diperlukan bagi agen berikut untuk mengidentifikasi cermin setelah failover:
Agen Rekam Jepret (untuk semua publikasi)
Agen Pembaca Log (untuk semua publikasi transaksional)
Agen Pembaca Antrean (untuk publikasi transaksional yang mendukung langganan yang menggunakan pembaruan antrean)
Agen Penggabungan (untuk penggabungan langganan)
Pendengar replikasi SQL Server (replisapi.dll: untuk menggabungkan langganan yang disinkronkan menggunakan sinkronisasi Web)
Kontrol ActiveX Gabungan SQL (untuk langganan gabungan yang disinkronkan dengan kontrol)
Agen Distribusi dan Kontrol ActiveX Distribusi tidak memiliki parameter ini karena tidak tersambung ke Penerbit.
Perubahan parameter agen berlaku saat agen dimulai lain kali. Jika agen berjalan terus menerus, Anda harus menghentikan dan memulai ulang agen. Parameter dapat ditentukan dalam profil agen dan dari baris perintah. Untuk informasi selengkapnya, lihat:
Sebaiknya tambahkan -PublisherFailoverPartner ke profil agen, lalu tentukan nama cermin di profil. Misalnya, jika Anda mengonfigurasi replikasi dengan prosedur tersimpan:
-- Execute sp_help_agent_profile in the context of the distribution database to get the list of profiles. -- Select the profile id of the profile that needs to be updated from the result set. -- In the agent_type column returned by sp_help_agent_profile: -- 1 = Snapshot Agent; 2 = Log Reader Agent; 3 = Distribution Agent; 4 = Merge Agent; 9 = Queue Reader Agent. exec sp_help_agent_profile; -- Setting the -PublisherFailoverPartner parameter in the default Snapshot Agent profile (profile 1). -- Execute sp_add_agent_parameter in the context of the distribution database. exec sp_add_agent_parameter @profile_id = 1, @parameter_name = N'-PublisherFailoverPartner', @parameter_value = N'<Failover Partner Name>'; -- Setting the -PublisherFailoverPartner parameter in the default Merge Agent profile (profile 6). -- Execute sp_add_agent_parameter in the context of the distribution database. exec sp_add_agent_parameter @profile_id = 6, @parameter_name = N'-PublisherFailoverPartner', @parameter_value = N'<Failover Partner Name>';Tambahkan utama dan mirror ke Monitor Replikasi. Untuk informasi selengkapnya, lihat Menambahkan dan Menghapus Penerbit dari Monitor Replikasi.
Mempertahankan Database Publikasi Tercermin
Mempertahankan database publikasi cermin pada dasarnya sama dengan mempertahankan database yang tidak dicerminkan, dengan pertimbangan berikut:
Administrasi dan pemantauan harus terjadi di server aktif. Di SQL Server Management Studio, publikasi muncul di bawah folder Publikasi Lokal hanya untuk server aktif. Misalnya, jika Anda melakukan pindah otomatis ke replika, publikasi ditampilkan di replika dan tidak lagi ditampilkan di server utama. Jika database gagal ke cermin, Anda mungkin perlu me-refresh Management Studio dan Monitor Replikasi secara manual agar perubahan tercermin.
Monitor Replikasi menampilkan simpul Penerbit di pohon objek untuk prinsipal dan cermin. Jika server utama adalah server aktif, informasi publikasi hanya ditampilkan di bawah simpul server utama di Monitor Replikasi.
Jika cermin adalah server aktif:
Jika agen memiliki kesalahan, kesalahan hanya ditunjukkan pada simpul utama, bukan pada node cermin.
Jika simpul induk tidak tersedia, simpul induk dan cermin menampilkan daftar publikasi yang identik. Pemantauan harus dilakukan terhadap publikasi di bawah node cermin.
Saat menggunakan prosedur tersimpan atau Objek Manajemen Replikasi (RMO) untuk mengelola replikasi di cermin, untuk kasus di mana Anda menentukan nama Penerbit, Anda harus menentukan nama instans tempat database diaktifkan untuk replikasi. Untuk menentukan nama yang tepat, gunakan fungsi publishingservername.
Saat database publikasi dicerminkan, metadata replikasi yang disimpan dalam database cermin identik dengan metadata yang disimpan dalam database utama. Akibatnya, untuk database publikasi yang diaktifkan untuk replikasi pada prinsipal, nama instans Penerbit yang disimpan dalam tabel sistem di cermin adalah nama utama, bukan cermin. Ini memengaruhi konfigurasi dan pemeliharaan replikasi jika database publikasi gagal ke cermin. Misalnya, jika Anda mengonfigurasi replikasi dengan prosedur tersimpan di cermin setelah failover, dan Anda ingin menambahkan langganan pull ke database publikasi yang diaktifkan di prinsipal, Anda harus menentukan nama utama daripada nama cermin untuk parameter @publishersp_addpullsubscription atau sp_addmergepullsubscription.
Jika Anda mengaktifkan database publikasi pada database mirror setelah failover ke database mirror, nama instans Penerbit yang disimpan dalam tabel sistem adalah nama database mirror; dalam hal ini, Anda akan menggunakan nama database mirror untuk parameter @publisher.
Nota
Dalam beberapa kasus, seperti sp_addpublication, parameter @publisher hanya didukung untuk Penerbit non-SQL Server; dalam kasus ini, tidak relevan untuk pencerminan database SQL Server.
Untuk menyinkronkan langganan di Management Studio setelah failover: sinkronkan langganan penarikan dari Pelanggan; dan sinkronkan langganan push dari Publisher aktif.
Perilaku Replikasi jika Pencerminan Dihapus
Ingatlah masalah berikut jika pencerminan database dihapus dari basis data yang sudah diterbitkan.
Jika database publikasi di prinsipal tidak lagi dicerminkan, replikasi terus bekerja tidak berubah terhadap prinsipal asli.
Jika proses failover database publikasi terjadi dari server prinsipal ke server cermin dan konfigurasi hubungan pencerminan kemudian dinonaktifkan atau dihapus, agen replikasi tidak akan berfungsi terhadap server cermin. Jika induk hilang secara permanen, nonaktifkan dan kemudian mengkonfigurasi ulang replikasi dengan mirror yang ditentukan sebagai Penerbit.
Jika pencerminan database dihapus sepenuhnya, database cermin dalam keadaan pemulihan dan harus dipulihkan agar berfungsi. Perilaku database yang dipulihkan sehubungan dengan replikasi tergantung pada apakah opsi KEEP_REPLICATION ditentukan. Opsi ini memaksa operasi pemulihan untuk mempertahankan pengaturan replikasi saat memulihkan database yang diterbitkan ke server selain itu di mana cadangan dibuat. Gunakan opsi KEEP_REPLICATION hanya saat database publikasi lainnya tidak tersedia. Fitur ini tidak dapat digunakan jika database publikasi lainnya masih utuh dan tetap mereplikasi. Untuk informasi selengkapnya tentang KEEP_REPLICATION, lihat RESTORE (Transact-SQL).
Perilaku Agen Pembaca Log
Tabel berikut ini menjelaskan perilaku Agen Pembaca Log untuk berbagai mode operasi pencerminan database.
| Mode operasi | Perilaku Agen Pembaca Log jika cermin tidak tersedia |
|---|---|
| Mode keamanan tinggi dengan failover otomatis | Jika cermin tidak tersedia, Agen Pembaca Log menyebarkan perintah ke database distribusi. Server utama tidak dapat beralih fungsi ke server cadangan sampai server cadangan kembali online dan memiliki semua transaksi dari server utama. |
| Mode performa tinggi | Jika cermin tidak tersedia, database utama berjalan terekspos (yaitu, tanpa pencerminan). Namun, Agen Pembaca Log hanya mereplikasi transaksi yang telah dikokohkan pada cermin. Jika layanan dipaksa dan server cermin mengasumsikan peran utama, Agen Pembaca Log akan bekerja melawan cermin dan mulai mengambil transaksi baru. Ketahuilah bahwa latensi replikasi akan meningkat jika server mirror tertinggal dari server utama. |
| Mode keamanan tinggi tanpa failover otomatis | Semua transaksi yang berkomitmen dijamin akan ditulis secara permanen ke disk cermin. Agen Pembaca Log hanya mereplikasi transaksi yang diperkeras di cermin. Jika cermin tidak tersedia, prinsipal melarang aktivitas lebih lanjut dalam database; oleh karena itu, Agen Pembaca Log tidak memiliki transaksi untuk direplikasi. |
Lihat Juga
Replikasi SQL Server
Pengiriman dan Replikasi Log (SQL Server)