Pencadangan log ekor (SQL Server)

Berlaku untuk:SQL Server

Artikel ini hanya relevan untuk pencadangan dan pemulihan database SQL Server yang menggunakan model pemulihan penuh atau dicatat secara massal.

Cadangan log ekor menangkap catatan log apa pun yang belum dicadangkan (ekor log), untuk mencegah kehilangan pekerjaan dan menjaga rantai log tetap utuh. Sebelum Anda dapat memulihkan database SQL Server ke titik waktu terbarunya, Anda harus mencadangkan ekor log transaksinya. Cadangan log ekor adalah cadangan terakhir yang menarik dalam rencana pemulihan untuk database.

Tidak semua skenario pemulihan memerlukan cadangan log ekor. Anda tidak memerlukan cadangan log ekor jika titik pemulihan terkandung dalam cadangan log sebelumnya. Cadangan log ekor tidak perlu jika Anda memindahkan atau mengganti (menimpa) database, dan tidak perlu memulihkannya ke titik waktu setelah pencadangan terbarunya.

Skenario yang memerlukan pencadangan log ekor

Kami menyarankan agar Anda mengambil cadangan log ekor dalam skenario berikut:

  • Jika database online dan Anda berencana untuk melakukan operasi pemulihan pada database, mulailah dengan mencadangkan ekor log. Untuk menghindari kesalahan untuk database online, Anda harus menggunakan WITH NORECOVERY opsi pernyataan BACKUP Transact-SQL.

  • Jika database offline dan gagal dimulai dan Anda perlu memulihkan database, pertama-tama cadangkan ekor log. Karena tidak ada transaksi yang dapat terjadi saat ini, gunakan WITH NO_TRUNCATE opsi . NO_TRUNCATE secara efektif sama dengan cadangan log transaksi khusus salinan. Penggunaan WITH NORECOVERY bersifat opsional, karena tidak ada transaksi yang dapat terjadi saat ini.

  • Jika database rusak, cobalah untuk mengambil cadangan log ekor dengan menggunakan WITH CONTINUE_AFTER_ERROR opsi BACKUP pernyataan.

    Pada database yang rusak, mencadangkan ekor log hanya dapat berhasil jika file log tidak rusak, database dalam keadaan yang mendukung cadangan log ekor, dan database tidak berisi perubahan yang dicatat secara massal. Jika cadangan log ekor tidak dapat dibuat, transaksi apa pun yang dilakukan setelah pencadangan log terbaru hilang.

Tabel berikut ini meringkas NORECOVERYopsi , NO_TRUNCATE, dan CONTINUE_AFTER_ERROR untuk BACKUP.

Opsi LOG CADANGAN Komentar
NORECOVERY Gunakan NORECOVERY setiap kali Anda berniat untuk melanjutkan operasi pemulihan pada database. NORECOVERY mengambil database ke dalam status pemulihan. Langkah ini menjamin bahwa database tidak berubah setelah pencadangan log ekor. Log dipotong kecuali NO_TRUNCATE opsi atau COPY_ONLY opsi juga ditentukan.

Penting: Hindari menggunakan NO_TRUNCATE, kecuali ketika database rusak atau offline. Anda mungkin perlu memasukkan database ke dalam mode pengguna tunggal untuk mendapatkan akses eksklusif sebelum melakukan pemulihan dengan NORECOVERY. Setelah pemulihan, atur kembali database ke mode multi-pengguna.
CONTINUE_AFTER_ERROR Gunakan CONTINUE_AFTER_ERROR hanya jika Anda mencadangkan ekor database yang rusak.

Saat Anda mencadangkan ekor log database yang rusak, beberapa metadata yang biasanya diambil dalam cadangan log mungkin tidak tersedia. Untuk informasi lebih lanjut, lihat bagian berikutnya.

Cadangan log ekor yang memiliki metadata cadangan yang tidak lengkap

Pencadangan log ekor menangkap ekor log bahkan jika database offline, rusak, atau file data yang hilang. Ini dapat menyebabkan metadata yang tidak lengkap dari perintah informasi pemulihan dan msdb. Namun, hanya metadata yang tidak lengkap; log yang diambil selesai dan dapat digunakan.

Jika cadangan log ekor memiliki metadata yang tidak lengkap, dalam tabel set cadangan, has_incomplete_metadata diatur ke 1. Selain itu, dalam output RESTORE HEADERONLY, HasIncompleteMetadata diatur ke 1.

Jika metadata dalam cadangan log ekor tidak lengkap, tabel backupfilegroup kehilangan sebagian besar informasi tentang grup file pada saat pencadangan log ekor. Sebagian besar kolom tabel adalah NULL; satu-satunya backupfilegroup kolom yang bermakna adalah sebagai berikut:

  • backup_set_id
  • filegroup_id
  • type
  • type_desc
  • is_readonly

Tugas terkait

Untuk membuat cadangan log ekor, lihat Mencadangkan Log Transaksi Saat Database Rusak (SQL Server).

Untuk memulihkan cadangan log transaksi, lihat Memulihkan Cadangan Log Transaksi (SQL Server).