Strategi untuk Mencadangkan dan Memulihkan Rekam Jepret dan Replikasi Transaksional

Berlaku untuk:SQL ServerAzure SQL Database

Saat Anda merancang strategi pencadangan dan pemulihan untuk rekam jepret dan replikasi transaksional, ada tiga area yang perlu dipertimbangkan:

  • Database mana yang akan dicadangkan.
  • Pengaturan pencadangan untuk replikasi transaksional.
  • Langkah-langkah yang diperlukan untuk memulihkan database. Ini tergantung pada jenis replikasi dan opsi yang dipilih.

Topik ini mencakup masing-masing area ini di tiga bagian berikutnya. Untuk informasi tentang pencadangan dan pemulihan untuk penerbitan Oracle, lihat Pencadangan dan Pemulihan untuk Penerbit Oracle.

Catatan

Azure SQL Managed Instance dapat menjadi penerbit, distributor, dan pelanggan untuk rekam jepret dan replikasi transaksional. Database di Azure SQL Database hanya dapat menjadi pelanggan pendorongan untuk rekam jepret dan replikasi transaksional. Untuk informasi selengkapnya, lihat Replikasi transaksional dengan Azure SQL Database dan Azure SQL Managed Instance.

Mencadangkan Database

Untuk rekam jepret dan replikasi transaksional, Anda harus mencadangkan database berikut secara teratur:

  • Database publikasi di Publisher.

  • Database distribusi di Distributor.

  • Database langganan di setiap Pelanggan.

  • Database sistem master dan msdb di Penerbit, Distributor, dan semua Pelanggan. Database ini harus dicadangkan pada saat yang sama satu sama lain dan database replikasi yang relevan. Misalnya, cadangkan database master dan msdb di Publisher pada saat yang sama saat Anda mencadangkan database publikasi. Jika database publikasi dipulihkan, pastikan database master dan msdb konsisten dengan database publikasi sehubungan dengan konfigurasi dan pengaturan replikasi.

Jika Anda melakukan pencadangan log reguler, setiap perubahan terkait replikasi harus diambil dalam cadangan log. Jika Anda tidak melakukan pencadangan log, pencadangan harus dilakukan setiap kali pengaturan yang relevan dengan replikasi diubah. Untuk informasi selengkapnya, lihat Tindakan Umum Yang Memerlukan Pencadangan yang Diperbarui.

Pencadangan Pengaturan untuk Replikasi Transaksional

Replikasi transaksional mencakup penggunaan opsi sinkronisasi dengan cadangan , yang dapat diatur pada database distribusi dan database publikasi:

  • Kami menyarankan agar Anda selalu mengatur opsi ini pada database distribusi.

    Mengatur opsi ini pada database distribusi memastikan bahwa transaksi dalam log database publikasi tidak akan dipotong sampai mereka telah dicadangkan di database distribusi. Database distribusi dapat dipulihkan ke cadangan terakhir, dan setiap transaksi yang hilang dikirimkan dari database publikasi ke database distribusi. Replikasi terus tidak terpengaruh.

    Mengatur opsi ini pada database distribusi tidak memengaruhi latensi replikasi. Namun, opsi akan menunda pemotongan log pada database publikasi hingga transaksi yang sesuai dalam database distribusi telah dicadangkan. (Ini dapat membuat log transaksi yang lebih besar di database publikasi.)

  • Kami menyarankan agar Anda mengatur opsi ini pada database publikasi jika aplikasi Anda dapat mentolerir latensi tambahan.

    Mengatur opsi ini pada database publikasi memastikan bahwa transaksi tidak dikirimkan ke database distribusi hingga dicadangkan di database publikasi. Cadangan database publikasi terakhir kemudian dapat dipulihkan di Penerbit tanpa kemungkinan database distribusi memiliki transaksi yang tidak dimiliki database publikasi yang dipulihkan.

    Latensi dan throughput terpengaruh karena transaksi tidak dapat dikirimkan ke database distribusi hingga dicadangkan di Publisher. Misalnya, jika log transaksi dicadangkan setiap lima menit, ada latensi lima menit tambahan antara ketika transaksi dilakukan di Penerbit dan ketika transaksi dikirimkan ke database distribusi, dan kemudian Pelanggan.

    Catatan

    Opsi sinkronisasi dengan cadangan memastikan konsistensi antara database publikasi dan database distribusi, tetapi opsi tidak menjamin kehilangan data. Misalnya, jika log transaksi hilang, transaksi yang telah dilakukan sejak pencadangan log transaksi terakhir tidak akan tersedia di database publikasi atau database distribusi. Ini adalah perilaku yang sama dengan database yang tidak direplikasi.

    Mengatur opsi sinkronisasi dengan cadangan pada database distribusi tidak kompatibel saat database penerbit adalah bagian dari grup ketersediaan. Ini dapat menyebabkan kesalahan berikut ketika agen pembaca log berjalan setelah failover.

    Proses ini tidak dapat menjalankan 'sp_repldone/sp_replcounters' pada 'machinename\instance'. (Sumber: MSSQL_REPL, Nomor kesalahan: MSSQL_REPL20011) Dapatkan bantuan: http://help/MSSQL_REPL20011 Kemungkinan status tidak konsisten dalam database distribusi: dist_backup_lsn {nnnnnnnn:nnnnnnnn:nnnn}, dist_last_lsn {nnnnnnnn:nnnnnnnn:nnnn}. Jalankan "sp_repldone NULL, NULL, 0, 0, 1", lalu jalankan sp_replflush. Menginisialisasi ulang semua langganan ke publikasi. (Sumber: MSSQLServer, Nomor kesalahan: 18846)

Untuk mengatur sinkronisasi dengan opsi pencadangan

Memulihkan Database yang Terlibat dalam Replikasi

Anda dapat memulihkan semua database dalam topologi replikasi jika cadangan terbaru tersedia dan langkah-langkah yang sesuai diikuti. Langkah-langkah pemulihan untuk database publikasi bergantung pada jenis replikasi dan opsi yang digunakan; namun, langkah-langkah pemulihan untuk semua database lain tidak bergantung pada jenis dan opsi.

Replikasi mendukung pemulihan database yang direplikasi ke server dan database yang sama tempat cadangan dibuat. Jika Anda memulihkan cadangan database yang direplikasi ke server atau database lain, pengaturan replikasi tidak dapat dipertahankan. Dalam hal ini, Anda harus membuat ulang semua publikasi dan langganan setelah cadangan dipulihkan.

Publisher

Ada langkah-langkah pemulihan yang disediakan untuk jenis replikasi berikut:

  • replikasi snapshot

  • Replikasi transaksional baca-saja

  • Replikasi transaksional dengan memperbarui langganan

  • Replikasi transaksional peer-to-peer

Pemulihan database msdb dan master , yang juga tercakup dalam bagian ini, sama untuk keempat jenis.

Database Publikasi: Replikasi Rekam Jepret

  1. Pulihkan cadangan terbaru database publikasi. Buka langkah 2.

  2. Apakah cadangan database publikasi berisi konfigurasi terbaru untuk semua publikasi dan langganan? Jika ya, pemulihan selesai. Jika tidak, buka langkah 3.

  3. Hapus konfigurasi replikasi dari Penerbit, Distributor, dan Pelanggan, lalu buat ulang konfigurasi. Pemulihan selesai.

    Untuk informasi selengkapnya tentang cara menghapus replikasi, lihat sp_removedbreplication (Transact-SQL).

Database Publikasi: Replikasi Transaksional Baca-Saja

  1. Pulihkan cadangan terbaru database publikasi. Buka langkah 2.

  2. Apakah sinkronisasi dengan pengaturan cadangan diaktifkan pada database publikasi sebelum kegagalan? Jika ya, buka langkah 3; jika tidak, buka langkah 5.

    Jika pengaturan diaktifkan, kueri SELECT DATABASEPROPERTYEX('<PublicationDatabaseName>', 'IsSyncWithBackup') mengembalikan '1'.

  3. Apakah pencadangan yang dipulihkan selesai dan terbaru? Apakah berisi konfigurasi terbaru untuk semua publikasi dan langganan? Jika ya, pemulihan selesai. Jika tidak, buka langkah 4.

  4. Informasi konfigurasi dalam database publikasi yang dipulihkan tidak diperbarui. Oleh karena itu, Anda harus memastikan bahwa Pelanggan memiliki semua perintah yang luar biasa dalam database distribusi, lalu menghilangkan dan membuat ulang konfigurasi replikasi.

    1. Jalankan Agen Distribusi hingga semua Pelanggan disinkronkan dengan perintah terutang dalam database distribusi. Verifikasi bahwa semua perintah dikirimkan ke Pelanggan dengan menggunakan tab Perintah yang Tidak Didistribusikan di Monitor Replikasi atau dengan mengkueri tampilan MSdistribution_status dalam database distribusi. Buka langkah b.

      Untuk informasi selengkapnya tentang cara menjalankan Agen Distribusi, lihat Memulai dan Menghentikan Agen Replikasi (SQL Server Management Studio) dan Konsep Executables Agen Replikasi.

      Untuk informasi selengkapnya tentang cara memverifikasi perintah, lihat Menampilkan Perintah yang Direplikasi dan Informasi Lain di Database Distribusi (Pemrograman Transak-SQL Replikasi) dan Menampilkan informasi dan melakukan tugas menggunakan Monitor Replikasi.

    2. Hapus konfigurasi replikasi dari Penerbit, Distributor, dan Pelanggan, lalu buat ulang konfigurasi. Saat Anda membuat ulang langganan, tentukan bahwa Pelanggan sudah memiliki data. Pemulihan selesai.

      Untuk informasi selengkapnya tentang cara menghapus replikasi, lihat sp_removedbreplication (Transact-SQL).

      Untuk informasi selengkapnya tentang cara menentukan bahwa Pelanggan sudah memiliki data, lihat Menginisialisasi Langganan Secara Manual.

  5. Opsi sinkronisasi dengan cadangan tidak diatur pada database publikasi. Oleh karena itu, transaksi yang tidak termasuk dalam cadangan yang dipulihkan mungkin telah dikirimkan ke Distributor dan Pelanggan. Anda sekarang harus memastikan bahwa Pelanggan memiliki semua perintah terutang dalam database distribusi, lalu secara manual berlaku untuk database publikasi setiap transaksi yang tidak termasuk dalam cadangan yang dipulihkan.

    Penting

    Melakukan proses ini dapat menyebabkan tabel yang diterbitkan dipulihkan ke titik waktu yang lebih baru daripada titik waktu tabel lain yang tidak diterbitkan yang dipulihkan dari cadangan.

    1. Jalankan Agen Distribusi hingga semua Pelanggan disinkronkan dengan perintah terutang dalam database distribusi. Verifikasi bahwa semua perintah dikirimkan ke Pelanggan dengan menggunakan tab Perintah yang Tidak Didistribusikan di Monitor Replikasi atau dengan mengkueri tampilan MSdistribution_status dalam database distribusi. Buka langkah b.

      Untuk informasi selengkapnya tentang cara menjalankan Agen Distribusi, lihat Memulai dan Menghentikan Agen Replikasi (SQL Server Management Studio) dan Konsep Executables Agen Replikasi.

      Untuk informasi selengkapnya tentang cara memverifikasi perintah, lihat Menampilkan Perintah yang Direplikasi dan Informasi Lain di Database Distribusi (Pemrograman Transak-SQL Replikasi) dan Menampilkan informasi dan melakukan tugas menggunakan Monitor Replikasi.

    2. Gunakan utilitas tablediff atau alat lain untuk menyinkronkan Publisher secara manual dengan Pelanggan. Ini memungkinkan Anda memulihkan data dari database langganan yang tidak terkandung dalam cadangan database publikasi. Buka langkah c.

      Untuk informasi selengkapnya tentang utilitas tablediff , lihat Membandingkan Tabel yang Direplikasi untuk Perbedaan (Pemrograman Replikasi).

    3. Apakah pencadangan yang dipulihkan selesai dan terbaru? Apakah berisi konfigurasi terbaru untuk semua publikasi dan langganan? Jika ya, jalankan prosedur tersimpan sp_replrestart untuk menyinkronkan ulang metadata Publisher dengan metadata Distributor. Pemulihan selesai. Jika tidak, buka langkah d.

    4. Hapus konfigurasi replikasi dari Penerbit, Distributor, dan Pelanggan, lalu buat ulang konfigurasi. Saat Anda membuat ulang langganan, tentukan bahwa Pelanggan sudah memiliki data. Pemulihan selesai.

      Untuk informasi selengkapnya tentang cara menghapus replikasi, lihat sp_removedbreplication (Transact-SQL).

      Untuk informasi selengkapnya tentang cara menentukan bahwa Pelanggan sudah memiliki data, lihat Menginisialisasi Langganan Secara Manual.

Database Publikasi: Replikasi Transaksional dengan Memperbarui Langganan

  1. Pulihkan cadangan terbaru database publikasi. Buka langkah 2.

  2. Jalankan Agen Distribusi hingga semua Pelanggan disinkronkan dengan perintah terutang dalam database distribusi. Verifikasi bahwa semua perintah dikirimkan ke Pelanggan dengan menggunakan tab Perintah yang Tidak Didistribusikan di Monitor Replikasi, atau dengan mengkueri tampilan MSdistribution_status dalam database distribusi. Buka langkah 3.

    Untuk informasi selengkapnya tentang cara menjalankan Agen Distribusi, lihat Memulai dan Menghentikan Agen Replikasi (SQL Server Management Studio) dan Konsep Executables Agen Replikasi.

    Untuk informasi selengkapnya tentang cara memverifikasi perintah, lihat Menampilkan Perintah yang Direplikasi dan Informasi Lain di Database Distribusi (Pemrograman Transak-SQL Replikasi) dan Menampilkan informasi dan melakukan tugas menggunakan Monitor Replikasi.

  3. Jika Anda menggunakan langganan pembaruan antrean, sambungkan ke setiap Pelanggan dan hapus semua baris dari tabel MSreplication_queue (Transact-SQL) dalam database langganan. Buka langkah 4.

    Catatan

    Jika Anda menggunakan langganan pembaruan antrean dan tabel apa pun berisi kolom identitas, Anda harus memastikan bahwa rentang identitas yang benar ditetapkan setelah pemulihan. Untuk informasi selengkapnya, lihat Mereplikasi Kolom Identitas.

  4. Anda sekarang harus memastikan bahwa Pelanggan memiliki semua perintah terutang dalam database distribusi, lalu secara manual berlaku untuk database publikasi setiap transaksi yang tidak termasuk dalam cadangan yang dipulihkan.

    Penting

    Melakukan proses ini dapat menyebabkan tabel yang diterbitkan dipulihkan ke titik waktu yang lebih baru daripada titik waktu tabel lain yang tidak diterbitkan yang dipulihkan dari cadangan.

    1. Jalankan Agen Distribusi hingga semua Pelanggan disinkronkan dengan perintah terutang dalam database distribusi. Verifikasi bahwa semua perintah dikirimkan ke Pelanggan dengan menggunakan Monitor Replikasi atau dengan mengkueri tampilan MSdistribution_status dalam database distribusi. Buka langkah b.

    2. Gunakan Utilitas tablediff atau alat lain untuk menyinkronkan Penerbit secara manual dengan Pelanggan. Ini memungkinkan Anda memulihkan data dari database langganan yang tidak terkandung dalam cadangan database publikasi. Buka langkah c.

      Untuk informasi selengkapnya tentang utilitas tablediff , lihat Membandingkan Tabel yang Direplikasi untuk Perbedaan (Pemrograman Replikasi).

    3. Apakah pencadangan yang dipulihkan selesai dan terbaru? Apakah berisi konfigurasi terbaru untuk semua publikasi dan langganan? Jika ya, jalankan prosedur tersimpan sp_replrestart untuk menyinkronkan ulang metadata Publisher dengan metadata Distributor. Pemulihan selesai. Jika tidak, buka langkah d.

    4. Hapus konfigurasi replikasi dari Penerbit, Distributor, dan Pelanggan, lalu buat ulang konfigurasi. Saat Anda membuat ulang langganan, tentukan bahwa Pelanggan sudah memiliki data. Pemulihan selesai.

      Untuk informasi selengkapnya tentang cara menghapus replikasi, lihat dan sp_removedbreplication (Transact-SQL).

      Untuk informasi selengkapnya tentang cara menentukan bahwa Pelanggan sudah memiliki data, lihat Menginisialisasi Langganan Secara Manual.

Database Publikasi: Replikasi Transaksional Peer-to-Peer

Dalam langkah-langkah berikut, database publikasi A, B, dan C berada dalam topologi replikasi transaksional peer-to-peer. Database A dan C online dan berfungsi dengan baik; database B adalah database yang akan dipulihkan. Proses yang dijelaskan di sini, terutama langkah 7, 10, dan 11, sangat mirip dengan proses yang diperlukan untuk menambahkan node ke topologi peer-to-peer. Cara paling mudah untuk melakukan langkah-langkah ini adalah dengan menggunakan Wizard KonfigurasiKan Topologi Peer-to-Peer, tetapi Anda juga dapat menggunakan prosedur tersimpan.

  1. Jalankan Agen Distribusi untuk menyinkronkan langganan di database A dan C. Buka langkah 2.

    Untuk informasi selengkapnya tentang cara menjalankan Agen Distribusi, lihat Memulai dan Menghentikan Agen Replikasi (SQL Server Management Studio) dan Konsep Executables Agen Replikasi.

  2. Jika database distribusi yang digunakan B masih tersedia, jalankan Agen Distribusi untuk menyinkronkan langganan antara database B dan A dan database serta B dan C. Buka langkah 3.

  3. Hapus metadata dari database distribusi yang digunakan B dengan menjalankan sp_removedistpublisherdbreplication di database distribusi untuk B. Buka langkah 4.

  4. Di database A dan C, letakkan langganan ke publikasi di database B. Buka langkah 5.

    Untuk informasi selengkapnya tentang cara menghilangkan langganan, lihat Berlangganan Publikasi.

  5. Lakukan pencadangan log atau pencadangan penuh database A. Buka langkah 6.

  6. Pulihkan cadangan database A di database B. Database B sekarang memiliki data dari database A, tetapi bukan konfigurasi replikasi. Ketika Anda memulihkan cadangan ke server lain, replikasi dihapus; oleh karena itu, replikasi telah dihapus dari database B. Buka langkah 7.

  7. Buat ulang publikasi di database B, lalu buat ulang langganan antara database A dan B. (Langganan yang melibatkan database C ditangani pada tahap selanjutnya.).

    1. Buat ulang publikasi di database B. Buka langkah b.

    2. Buat ulang langganan di database B ke publikasi di database A, yang menentukan bahwa langganan harus diinisialisasi dengan cadangan (nilai inisialisasi dengan cadangan untuk @sync_type parameter sp_addsubscription). Buka langkah c.

    3. Buat ulang langganan di database A ke publikasi di database B, menentukan bahwa Pelanggan sudah memiliki data (nilai dukungan replikasi hanya untuk @sync_type parameter sp_addsubscription). Buka langkah 8.

  8. Jalankan Agen Distribusi untuk menyinkronkan langganan di database A dan B. Jika ada kolom identitas dalam tabel yang diterbitkan, buka langkah 9. Jika tidak, buka langkah 10.

  9. Setelah pemulihan, rentang identitas yang Anda tetapkan untuk setiap tabel dalam database A juga akan digunakan dalam database B. Pastikan bahwa database B yang dipulihkan telah menerima semua perubahan dari database B yang gagal yang disebarkan ke database A dan database C; lalu reseed rentang identitas untuk setiap tabel.

    1. Jalankan sp_requestpeerresponse di database B dan ambil parameter @request_idoutput . Buka langkah b.

    2. Secara default, Agen Distribusi diatur untuk berjalan terus menerus; oleh karena itu, token harus dikirim ke semua simpul secara otomatis. Jika Agen Distribusi tidak berjalan dalam mode berkelanjutan, jalankan agen. Untuk informasi selengkapnya, lihat Konsep Executables Agen Replikasi atau Mulai dan Hentikan Agen Replikasi (SQL Server Management Studio). Buka langkah c.

    3. Jalankan sp_helppeerresponses, memberikan nilai yang @request_id diambil di langkah b. Tunggu hingga semua simpul menunjukkan bahwa mereka telah menerima permintaan serekan. Buka langkah d.

    4. Gunakan DBCC CHECKIDENT untuk mengubah setiap tabel dalam database B untuk memastikan bahwa rentang yang sesuai digunakan. Buka langkah 10.

    Untuk informasi selengkapnya tentang cara mengelola rentang identitas, lihat bagian "Menetapkan rentang untuk manajemen rentang identitas manual" di Mereplikasi Kolom Identitas.

  10. Pada titik ini, database B dan database C tidak terhubung langsung, tetapi mereka akan menerima perubahan melalui database A. Jika topologi berisi simpul apa pun yang menjalankan SQL Server 2005 (9.x), buka langkah 11; jika tidak, buka langkah 12.

  11. Hentikan sistem, lalu buat ulang langganan antara database B dan C. Menghentikan sistem melibatkan aktivitas penghentian pada tabel yang diterbitkan di semua simpul dan memastikan bahwa setiap simpul telah menerima semua perubahan dari semua simpul lainnya.

    1. Hentikan semua aktivitas pada tabel yang diterbitkan dalam topologi peer-to-peer. Buka langkah b.

    2. Jalankan sp_requestpeerresponse di database B dan ambil parameter @request_idoutput . Buka langkah c.

    3. Secara default, Agen Distribusi diatur untuk berjalan terus menerus; oleh karena itu, token harus dikirim ke semua simpul secara otomatis. Jika Agen Distribusi tidak berjalan dalam mode berkelanjutan, jalankan agen. Buka langkah d.

    4. Jalankan sp_helppeerresponses, memberikan nilai yang @request_id diambil di langkah b. Tunggu hingga semua simpul menunjukkan bahwa mereka telah menerima permintaan serekan. Buka langkah e.

    5. Buat ulang langganan di database B ke publikasi di database C, menentukan bahwa Pelanggan sudah memiliki data. Buka langkah b.

    6. Buat ulang langganan di database C ke publikasi di database B, menentukan bahwa Pelanggan sudah memiliki data. Buka langkah 13.

  12. Buat ulang langganan antara database B dan C:

    1. Di database B, kueri tabel MSpeer_lsns untuk mengambil nomor urutan log (LSN) dari transaksi terbaru yang diterima database B dari database C.

    2. Buat ulang langganan di database B ke publikasi di database C, yang menentukan bahwa langganan harus diinisialisasi berdasarkan LSN (nilai inisialisasi dari lsn untuk @sync_type parameter sp_addsubscription). Buka langkah b.

    3. Buat ulang langganan di database C ke publikasi di database B, menentukan bahwa Pelanggan sudah memiliki data. Buka langkah 13.

  13. Jalankan Agen Distribusi untuk menyinkronkan langganan di database B dan C. Pemulihan selesai.

msdb Database (Publisher)

  1. Pulihkan cadangan terbaru database msdb .

  2. Apakah pencadangan yang dipulihkan selesai dan terbaru? Apakah berisi konfigurasi terbaru untuk semua publikasi dan langganan? Jika ya, pemulihan selesai. Jika tidak, buka langkah 3.

  3. Buat ulang pekerjaan pembersihan langganan dari skrip replikasi Anda. Pemulihan selesai.

Database master (Penerbit)

  1. Pulihkan cadangan terbaru database master .

  2. Pastikan bahwa database konsisten dengan database publikasi sehubungan dengan konfigurasi dan pengaturan replikasi.

Database di Distributor

Database Distribusi

  1. Pulihkan cadangan terbaru database distribusi.

  2. Apakah sinkronisasi dengan pengaturan cadangan diaktifkan pada database distribusi sebelum kegagalan? Jika ya, buka langkah 3; jika tidak, buka langkah 4.

    Jika pengaturan diaktifkan, kueri SELECT DATABASEPROPERTYEX('<DistributionDatabaseName>', 'IsSyncWithBackup') mengembalikan '1'.

  3. Apakah pencadangan yang dipulihkan selesai dan terbaru? Apakah berisi konfigurasi terbaru untuk semua publikasi dan langganan? Jika ya, pemulihan selesai. Jika tidak, buka langkah 4.

  4. Informasi konfigurasi dalam database distribusi yang dipulihkan tidak diperbarui, atau opsi sinkronisasi dengan cadangan tidak diatur pada database distribusi. (Setelah pemulihan, database distribusi mungkin kehilangan transaksi yang dilakukan di Penerbit tetapi belum dikirimkan kepada Pelanggan.) Hilangkan dan buat ulang replikasi, lalu jalankan validasi.

    1. Hapus konfigurasi replikasi dari Penerbit, Distributor, dan Pelanggan, lalu buat ulang konfigurasi. Saat Anda membuat ulang langganan, tentukan bahwa Pelanggan sudah memiliki data. Buka langkah b.

      Untuk informasi selengkapnya tentang cara menghapus replikasi, lihat sp_removedbreplication (Transact-SQL).

      Untuk informasi selengkapnya tentang cara menentukan bahwa Pelanggan sudah memiliki data, lihat Menginisialisasi Langganan Secara Manual.

    2. Tandai semua publikasi untuk validasi. Menginisialisasi ulang langganan apa pun yang gagal validasi. Pemulihan selesai.

      Untuk informasi selengkapnya tentang validasi, lihat Memvalidasi Data yang Direplikasi. Untuk informasi selengkapnya tentang reinitialisasi, lihat Menginisialisasi ulang Langganan.

msdb Database (Distributor)

  1. Pulihkan cadangan terbaru database msdb .

  2. Apakah pencadangan yang dipulihkan selesai dan terbaru? Apakah berisi konfigurasi terbaru untuk semua publikasi dan langganan? Jika ya, pemulihan selesai. Jika tidak, buka langkah 3.

  3. Hapus konfigurasi replikasi dari Penerbit, Distributor, dan Pelanggan, lalu buat ulang konfigurasi. Saat Anda membuat ulang langganan, tentukan bahwa Pelanggan sudah memiliki data. Buka langkah 4.

    Untuk informasi selengkapnya tentang cara menghapus replikasi, lihat sp_removedbreplication (Transact-SQL).

    Untuk informasi selengkapnya tentang cara menentukan bahwa Pelanggan sudah memiliki data, lihat Menginisialisasi Langganan Secara Manual.

  4. Tandai semua publikasi untuk validasi. Menginisialisasi ulang langganan apa pun yang gagal validasi. Pemulihan selesai.

    Untuk informasi selengkapnya tentang validasi, lihat Memvalidasi Data yang Direplikasi. Untuk informasi selengkapnya tentang reinitialisasi, lihat Menginisialisasi ulang Langganan.

Database master (Distributor)

  1. Pulihkan cadangan terbaru database master .

  2. Pastikan bahwa database konsisten dengan database publikasi sehubungan dengan konfigurasi dan pengaturan replikasi.

Database di Pelanggan

Database Langganan

  1. Apakah cadangan database langganan terbaru lebih baru daripada pengaturan retensi distribusi minimum pada database distribusi? (Ini menentukan apakah Distributor masih memiliki semua perintah yang diperlukan untuk memperbarui Pelanggan.) Jika ya, buka langkah 2. Jika tidak, masukkan kembali langganan. Pemulihan selesai.

    Untuk menentukan pengaturan retensi distribusi maksimum, jalankan sp_helpdistributiondb dan ambil nilai dari kolom max_distretention (nilai ini dalam jam).

    Untuk informasi selengkapnya tentang cara menginisialisasi ulang langganan, lihat Menginisialisasi ulang Langganan.

  2. Pulihkan cadangan database langganan terbaru. Buka langkah 3.

  3. Jika database langganan hanya berisi langganan pendorongan, buka langkah 4. Jika database langganan berisi langganan pull, ajukan pertanyaan berikut: Apakah informasi langganan terkini? Apakah database menyertakan semua tabel dan opsi yang diatur pada saat kegagalan. Jika ya, buka langkah 4. Jika tidak, masukkan kembali langganan. Pemulihan selesai.

  4. Untuk menyinkronkan Pelanggan, jalankan Agen Distribusi. Pemulihan selesai.

    Untuk informasi selengkapnya tentang cara menjalankan Agen Distribusi, lihat Memulai dan Menghentikan Agen Replikasi (SQL Server Management Studio) dan Konsep Executables Agen Replikasi.

msdb Database (Pelanggan)

  1. Pulihkan cadangan terbaru database msdb . Apakah langganan penarikan digunakan di Pelanggan ini? Jika tidak, pemulihan selesai. Jika ya, buka langkah 2.

  2. Apakah pencadangan yang dipulihkan selesai dan terbaru? Apakah berisi konfigurasi terbaru untuk semua langganan penarikan? Jika ya, pemulihan selesai. Jika tidak, buka langkah 3.

  3. Hilangkan dan buat ulang langganan penarikan. Saat Anda membuat ulang langganan, tentukan bahwa Pelanggan sudah memiliki data. Pemulihan selesai.

    Untuk informasi selengkapnya tentang cara menghilangkan langganan, lihat Berlangganan Publikasi.

    Untuk informasi selengkapnya tentang cara menentukan bahwa Pelanggan sudah memiliki data, lihat Menginisialisasi Langganan Secara Manual.

Database master (Pelanggan)

  1. Pulihkan cadangan terbaru database master .

  2. Pastikan bahwa database konsisten dengan database publikasi sehubungan dengan konfigurasi dan pengaturan replikasi.

Lihat Juga

Mencadangkan dan Memulihkan Database SQL Server
Mencadangkan dan Memulihkan Database yang Direplikasi
Mengonfigurasi Distribusi
Menerbitkan Objek Data dan Database
Berlangganan Publikasi
Menginisialisasi Langganan
Menyinkronkan Data