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. PenggunaanWITH 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
opsiBACKUP
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 NORECOVERY
opsi , 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).