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.
Topik ini membahas pertimbangan khusus untuk mempertahankan database publikasi saat Anda menggunakan grup ketersediaan AlwaysOn.
Mempertahankan Database yang Diterbitkan dalam Grup Ketersediaan
Mempertahankan database publikasi AlwaysOn pada dasarnya sama dengan mempertahankan database publikasi standar, dengan pertimbangan berikut:
Administrasi harus terjadi di host replika utama. Di SQL Server Management Studio, publikasi muncul di bawah folder Publikasi Lokal untuk host replika utama dan juga untuk replika sekunder yang dapat dibaca. Setelah failover, Anda mungkin harus me-refresh Management Studio secara manual agar perubahan tercermin jika sekunder yang dipromosikan ke primer tidak dapat dibaca.
Monitor Replikasi selalu menampilkan informasi publikasi di bawah penerbit asli. Namun, informasi ini dapat dilihat di Monitor Replikasi dari replika apa pun dengan menambahkan penerbit asli sebagai server.
Saat menggunakan prosedur tersimpan atau Objek Manajemen Replikasi (RMO) untuk mengelola replikasi di primer saat ini, untuk kasus di mana Anda menentukan nama Penerbit, Anda harus menentukan nama instans tempat database diaktifkan untuk replikasi (penerbit asli). Untuk menentukan nama yang sesuai, gunakan
PUBLISHINGSERVERNAMEfungsi . Saat database penerbitan bergabung dengan grup ketersediaan, metadata replikasi yang disimpan dalam replika database sekunder identik dengan itu di primer. Akibatnya, untuk database publikasi yang diaktifkan untuk replikasi di primer, nama instans penerbit yang disimpan dalam tabel sistem di sekunder adalah nama primer, bukan sekunder. Ini memengaruhi konfigurasi dan pemeliharaan replikasi jika database publikasi gagal ke sekunder. Misalnya, jika Anda mengonfigurasi replikasi dengan prosedur tersimpan di sekunder setelah failover, dan Anda ingin langganan penarikan ke database publikasi yang diaktifkan di replika yang berbeda, Anda harus menentukan nama penerbit asli alih-alih penerbit saat ini sebagai parametersp_addpullsubscription@publisher atausp_addmergepulllsubscription. Namun, jika Anda mengaktifkan database publikasi setelah failover, nama instans penerbit yang disimpan dalam tabel sistem adalah nama host utama saat ini. Dalam hal ini, Anda akan menggunakan nama host replika utama saat ini untuk parameter @publisher .Catatan
Untuk beberapa prosedur, seperti
sp_addpublication, parameter @publisher hanya didukung untuk penerbit yang bukan instans SQL Server; dalam kasus ini, parameter tersebut tidak relevan untuk SQL Server AlwaysOn.Untuk menyinkronkan langganan di Management Studio setelah failover, sinkronkan langganan penarikan dari pelanggan dan sinkronkan langganan push dari penerbit aktif.
Menghapus Database yang Diterbitkan dari Grup Ketersediaan
Pertimbangkan masalah berikut jika database yang diterbitkan dihapus dari grup ketersediaan, atau jika grup ketersediaan yang memiliki database anggota yang diterbitkan dihilangkan.
Jika database publikasi di penerbit asli dihapus dari replika utama grup ketersediaan, Anda harus menjalankan
sp_redirect_publishertanpa menentukan nilai untuk parameter @redirected_publisher untuk menghapus pengalihan untuk pasangan penerbit/database.EXEC sys.sp_redirect_publisher @original_publisher = 'MyPublisher', @published_database = 'MyPublishedDB';Database akan dibiarkan dalam status pemulihan di primer dan harus dipulihkan. Setelah Anda melakukan ini, replikasi harus bekerja tidak berubah terhadap Penerbit asli.
Jika database publikasi gagal dari penerbit asli ke replika dan database dihapus dari replika utama grup ketersediaan, gunakan prosedur
sp_redirect_publishertersimpan untuk mengalihkan penerbit asli secara eksplisit ke penerbit baru. Database akan dibiarkan dalam status pemulihan dan harus dipulihkan. Setelah Anda melakukan ini, replikasi harus terus berfungsi seperti yang dilakukan di bawah grup ketersediaan.EXEC sys.sp_redirect_publisher @original_publisher = 'MyPublisher', @published_database = 'MyPublishedDB', @redirected_publisher = 'MyNewPublisher';Jangan hapus server jarak jauh untuk penerbit asli dari distributor, meskipun server tidak dapat lagi diakses. Metadata server untuk penerbit asli diperlukan di distributor untuk memenuhi kueri metadata publikasi.
Jika grup ketersediaan lengkap dihapus, perilaku yang berkaitan dengan database yang direplikasi anggota sama seperti saat database yang diterbitkan dihapus dari grup ketersediaan. Replikasi dapat dilanjutkan dari primer terakhir segera setelah database dipulihkan dan pengalihan telah dimodifikasi. Jika database dipulihkan di penerbit aslinya, pengalihan harus dihapus. Jika database dipulihkan di host yang berbeda, pengalihan harus secara eksplisit diarahkan ke host baru.
Catatan
Saat grup ketersediaan dihapus yang telah menerbitkan database anggota, atau database yang diterbitkan dihapus dari grup ketersediaan, semua salinan database yang diterbitkan akan dibiarkan dalam status pemulihan. Jika dipulihkan, masing-masing akan muncul sebagai database yang diterbitkan. Hanya satu salinan yang harus dipertahankan dengan metadata publikasi. Untuk menonaktifkan replikasi untuk salinan database yang diterbitkan, pertama-tama hapus semua langganan dan publikasi dari database.
Jalankan
sp_dropsubscriptionuntuk menghapus langganan publikasi. Pastikan untuk mengatur parameter @ignore_distributributor ke 1 untuk mempertahankan metadata untuk database penerbitan aktif di distributor.USE MyDBName; GO EXEC sys.sp_dropsubscription @subscriber = 'MySubscriber', @publication = 'MyPublication', @article = 'all', @ignore_distributor = 1;Jalankan
sp_droppublicationuntuk menghapus semua publikasi. Sekali lagi, atur parameter @ignore_distributor ke 1 untuk mempertahankan metadata untuk database penerbitan aktif di distributor.EXEC sys.sp_droppublication @publication = 'MyPublication', @ignore_distributor = 1;Jalankan
sp_replicationdboptionuntuk menonaktifkan replikasi untuk database.EXEC sys.sp_replicationdboption @dbname = 'MyDBName', @optname = 'publish', @value = 'false';Pada titik ini, salinan database yang diterbitkan dapat dipertahankan atau dihilangkan.
Tugas Terkait
Mengonfigurasi Replikasi untuk Grup Ketersediaan AlwaysOn (SQL Server)
Replikasi, Pelacakan Perubahan, Ubah Pengambilan Data, dan Grup Ketersediaan AlwaysOn (SQL Server)
Pelanggan Replikasi dan Grup Ketersediaan AlwaysOn (SQL Server)
Lihat juga
Prasyarat, Pembatasan, dan Rekomendasi untuk Grup Ketersediaan AlwaysOn (SQL Server)
Gambaran Umum Grup Ketersediaan AlwaysOn (SQL Server)
Grup Ketersediaan AlwaysOn: Interoperabilitas (SQL Server)
Replikasi SQL Server