Pencerminan Database dan Pengiriman Log (SQL Server)

Berlaku untuk:SQL Server

Database tertentu dapat dicerminkan atau dikirim log; juga dapat dicerminkan dan dikirim log secara bersamaan. Untuk memilih pendekatan apa yang akan digunakan, pertimbangkan hal berikut:

  • Berapa banyak server tujuan yang Anda butuhkan?

    Jika Anda hanya memerlukan database tujuan tunggal, pencerminan database adalah solusi yang direkomendasikan.

    Jika Anda memerlukan lebih dari satu database tujuan, Anda perlu menggunakan pengiriman log, baik sendiri atau dengan pencerminan database. Menggabungkan pendekatan ini memberi Anda manfaat pencerminan database bersama dengan dukungan untuk beberapa tujuan yang disediakan oleh pengiriman log.

  • Jika Anda perlu menunda pemulihan log pada database tujuan (biasanya, untuk melindungi dari kesalahan logis), gunakan pengiriman log, sendiri atau dengan pencerminan database.

Topik ini membahas pertimbangan untuk menggabungkan pengiriman log dan pencerminan database.

Catatan

Untuk pengenalan teknologi ini, lihat Pencerminan Database (SQL Server) dan Tentang Pengiriman Log (SQL Server).

Menggabungkan Pengiriman Log dan Pencerminan Database

Database utama dalam sesi pencerminan juga dapat bertindak sebagai database utama dalam konfigurasi pengiriman log, atau sebaliknya, karena berbagi cadangan pengiriman log utuh. Sesi pencerminan database berjalan dalam mode operasi apa pun, baik sinkron (dengan keamanan transaksi diatur ke PENUH) atau asinkron (dengan keamanan transaksi diatur ke OFF).

Catatan

Untuk menggunakan pencerminan database pada database, model pemulihan penuh selalu diperlukan.

Biasanya, saat menggabungkan pengiriman log dan pencerminan database, sesi pencerminan dibuat sebelum pengiriman log, meskipun ini tidak diperlukan. Kemudian database utama saat ini dikonfigurasi sebagai primer pengiriman log ( database utama/utama), bersama dengan satu atau beberapa database sekunder jarak jauh. Selain itu, database cermin harus dikonfigurasi sebagai primer pengiriman log ( cermin/database utama). Database sekunder pengiriman log harus berada pada instans server yang berbeda dari server utama/utama atau server mirror/primer.

Catatan

Pengaturan sensitivitas kasus server yang terlibat dalam pengiriman log harus cocok.

Selama sesi pengiriman log, pekerjaan pencadangan pada database utama membuat cadangan log di folder cadangan. Dari sana, cadangan disalin oleh pekerjaan penyalinan server sekunder. Agar pekerjaan pencadangan dan pekerjaan penyalinan berhasil, mereka harus memiliki akses ke folder cadangan pengiriman log. Untuk memaksimalkan ketersediaan server utama, kami sarankan Anda membuat folder cadangan di lokasi cadangan bersama di komputer host terpisah. Pastikan bahwa semua server pengiriman log, termasuk server cermin/utama, dapat mengakses lokasi cadangan bersama (dikenal sebagai berbagi cadangan).

Untuk memungkinkan pengiriman log berlanjut setelah pencerminan database gagal, Anda juga harus mengonfigurasi server cermin sebagai server utama, menggunakan konfigurasi yang sama dengan yang Anda gunakan untuk database utama pada database utama. Database cermin dalam status pemulihan, yang mencegah pekerjaan pencadangan mencadangkan log pada database cermin. Ini memastikan bahwa database cermin/utama tidak mengganggu database utama/utama yang cadangan lognya saat ini sedang disalin oleh server sekunder. Untuk mencegah pemberitahuan yang memacu, setelah pekerjaan pencadangan dijalankan pada database cermin/utama, pekerjaan pencadangan mencatat pesan ke tabel log_shipping_monitor_history_detail , dan pekerjaan agen mengembalikan status keberhasilan.

Database cermin/utama tidak aktif dalam sesi pengiriman log. Namun, jika pencerminan gagal, database cermin sebelumnya online sebagai database utama. Pada saat itu, database tersebut juga menjadi aktif sebagai database utama pengiriman log. Pekerjaan pencadangan pengiriman log yang sebelumnya tidak dapat mengirim log pada database tersebut, mulai mengirim log. Sebaliknya, failover menyebabkan database utama/utama sebelumnya menjadi database cermin/utama baru dan memasuki status pemulihan, dan pekerjaan pencadangan pada database tersebut berhenti mencadangkan log.

Catatan

Jika terjadi failover otomatis, peralihan ke peran cermin terjadi ketika database utama/utama sebelumnya bergabung kembali dengan sesi pencerminan.

Untuk berjalan dalam mode keamanan tinggi dengan failover otomatis, sesi pencerminan dikonfigurasi dengan instans server tambahan yang dikenal sebagai saksi. Jika database utama hilang karena alasan apa pun setelah database disinkronkan dan jika server cermin dan saksi masih dapat berkomunikasi satu sama lain, failover otomatis terjadi. Failover otomatis menyebabkan server cermin mengasumsikan peran utama dan menjadikan databasenya online sebagai database utama. Jika lokasi cadangan pengiriman log dapat diakses oleh server utama/utama baru, pekerjaan pencadangannya mulai mengirim cadangan log ke lokasi tersebut. Mode sinkron pencerminan database menjamin bahwa rantai log tidak terpengaruh oleh failover pencerminan dan bahwa hanya log yang valid yang dipulihkan. Server sekunder terus menyalin cadangan log tanpa mengetahui bahwa instans server yang berbeda telah menjadi server utama.

Saat menggunakan monitor pengiriman log lokal, tidak ada pertimbangan khusus yang diperlukan untuk mengakomodasi skenario ini. Untuk informasi tentang menggunakan instans pemantauan jarak jauh dengan skenario ini, lihat, "Dampak Pencerminan Database pada Instans Pemantauan Jarak Jauh," nanti dalam topik ini.

Failover dari Utama ke database Mirror

Gambar berikut menunjukkan cara pengiriman log dan pencerminan database bekerja sama saat pencerminan berjalan dalam mode keamanan tinggi dengan failover otomatis. Awalnya, Server_A adalah server utama untuk pencerminan dan server utama untuk pengiriman log. Server_B adalah server cermin dan juga dikonfigurasi sebagai server utama, yang saat ini tidak aktif. Server_C dan Server_D adalah server sekunder pengiriman log. Untuk memaksimalkan ketersediaan sesi pengiriman log, lokasi cadangan berada di direktori berbagi di komputer host terpisah.

Pengiriman log dan pencerminan database

Setelah failover pencerminan, nama server utama yang ditentukan pada server sekunder tidak berubah. .

Dampak Pencerminan Database pada Instans Pemantauan Jarak Jauh

Saat pengiriman log menggunakan dengan instans pemantauan jarak jauh, menggabungkan sesi pengiriman log dan pencerminan database memengaruhi informasi dalam tabel monitor. Informasi tentang primer adalah kombinasi dari yang dikonfigurasi pada prinsipal/utama dan monitor yang dikonfigurasi pada setiap sekunder.

Untuk menjaga pemantauan semulus mungkin, saat Anda menggunakan monitor jarak jauh, kami sarankan Anda menentukan nama utama asli saat mengonfigurasi primer di sekunder. Pendekatan ini juga memfasilitasi perubahan konfigurasi pengiriman log dari Microsoft SQL Server Agent. Untuk informasi selengkapnya tentang pemantauan, lihat Memantau Pengiriman Log (Transact-SQL).

Menyiapkan Pencerminan dan Pengiriman Log Bersama-sama

Untuk menyiapkan pencerminan database dan pengiriman log bersama-sama, langkah-langkah berikut diperlukan:

  1. Pulihkan cadangan database utama/utama dengan NORECOVERY ke instans server lain untuk kemudian digunakan sebagai database pencerminan database untuk database utama/utama. Untuk informasi selengkapnya, lihat Menyiapkan Database Cermin untuk Pencerminan (SQL Server).

  2. Menyiapkan pencerminan database. Untuk informasi selengkapnya, lihat Membuat Sesi Pencerminan Database Menggunakan Autentikasi Windows (SQL Server Management Studio) atau Menyiapkan Pencerminan Database (SQL Server).

  3. Pulihkan cadangan database utama/utama ke instans server lain untuk kemudian digunakan sebagai database sekunder pengiriman log untuk database utama.

  4. Siapkan pengiriman log pada database utama sebagai database utama untuk satu atau beberapa database sekunder.

    Anda harus menyiapkan satu berbagi sebagai direktori cadangan (berbagi cadangan). Ini memastikan bahwa setelah peralihan peran antara server utama dan cermin, pekerjaan pencadangan terus menulis ke direktori yang sama seperti sebelumnya. Praktik terbaik adalah memastikan bahwa berbagi ini terletak di server fisik yang berbeda dari server yang menghosting database yang terlibat dalam pencerminan dan pengiriman log.

    Untuk informasi selengkapnya, lihat Mengonfigurasi Pengiriman Log (SQL Server).

  5. Failover secara manual dari prinsipal ke cermin.

    Untuk melakukan failover manual:

  6. Siapkan pengiriman log pada prinsipal baru (sebelumnya cermin) sebagai database utama.

    Penting

    Jangan melakukan pengaturan apa pun dari sekunder.

    Anda harus menggunakan berbagi cadangan yang sama dengan yang Anda gunakan di langkah 4.

    Antarmuka Pengiriman Log Transaksi di SQL Server Management Studio hanya mendukung satu database utama per konfigurasi pengiriman log. Oleh karena itu, Anda harus menggunakan prosedur tersimpan untuk menyiapkan perwakilan baru sebagai utama.

  7. Lakukan failover manual lain untuk melakukan failback ke prinsipal asli.