Kemungkinan Kesalahan Media Selama Pencadangan dan Pemulihan (SQL Server)

Berlaku untuk:SQL Server

SQL Server memberi Anda opsi untuk memulihkan database meskipun ada kesalahan yang terdeteksi. Mekanisme deteksi kesalahan baru yang penting adalah pembuatan opsional checksum cadangan yang dapat dibuat oleh operasi pencadangan dan divalidasi oleh operasi pemulihan. Anda dapat mengontrol apakah operasi memeriksa kesalahan dan apakah operasi berhenti atau berlanjut saat mengalami kesalahan. Jika cadangan berisi checksum cadangan, pernyataan RESTORE dan RESTORE VERIFYONLY dapat memeriksa kesalahan.

Catatan

Cadangan yang dicerminkan menyediakan hingga empat salinan (cermin) dari set media, menyediakan salinan alternatif untuk memulihkan dari kesalahan yang disebabkan oleh media yang rusak. Untuk informasi selengkapnya, lihat Mirrored Backup Media Sets (SQL Server).

Checksum Cadangan

SQL Server mendukung tiga jenis checksum: checksum pada halaman, checksum dalam blok log, dan checksum cadangan. Saat membuat checksum cadangan, BACKUP memverifikasi bahwa data yang dibaca dari database konsisten dengan checksum atau indikasi torn-page yang ada dalam database.

Pernyataan BACKUP secara opsional menghitung checksum cadangan pada aliran cadangan; jika informasi page-checksum atau torn-page ada di halaman tertentu, saat mencadangkan halaman, BACKUP juga memverifikasi status checksum dan torn-page dan ID halaman, dari halaman. Saat membuat checksum cadangan, operasi pencadangan tidak menambahkan checksum apa pun ke halaman. Halaman dicadangkan saat ada di database, dan halaman tidak dimodifikasi oleh cadangan.

Karena overhead memverifikasi dan menghasilkan checksum cadangan, menggunakan checksum cadangan menimbulkan potensi dampak performa. Baik beban kerja maupun throughput cadangan dapat terpengaruh. Oleh karena itu, menggunakan checksum cadangan bersifat opsional. Saat memutuskan untuk menghasilkan checksum selama pencadangan, pantau overhead CPU dengan cermat serta dampak pada beban kerja bersamaan pada sistem.

BACKUP tidak pernah memodifikasi halaman sumber pada disk atau konten halaman.

Ketika checksum cadangan diaktifkan, operasi pencadangan melakukan langkah-langkah berikut:

  1. Sebelum menulis halaman ke media cadangan, operasi pencadangan memverifikasi informasi tingkat halaman (checksum halaman atau deteksi halaman robek), jika ada. Jika tidak ada, cadangan tidak dapat memverifikasi halaman. Halaman yang belum diverifikasi disertakan apa adanya, dan kontennya ditambahkan ke checksum cadangan keseluruhan.

    Jika operasi pencadangan mengalami kesalahan halaman selama verifikasi, pencadangan gagal.

    Catatan

    Untuk informasi selengkapnya tentang checksum halaman dan deteksi halaman robek, lihat opsi PAGE_VERIFY pernyataan ALTER DATABASE. Untuk informasi selengkapnya, lihat MENGUBAH Opsi SET DATABASE (Transact-SQL).

  2. Terlepas dari apakah checksum halaman ada, BACKUP menghasilkan checksum cadangan terpisah untuk aliran cadangan. Operasi pemulihan dapat secara opsional menggunakan checksum cadangan untuk memvalidasi bahwa cadangan tidak rusak. Checksum cadangan disimpan di media cadangan, bukan pada halaman database. Checksum cadangan dapat digunakan secara opsional pada waktu pemulihan.

  3. Kumpulan cadangan ditandai sebagai berisi checksum cadangan (di kolom has_backup_checksums msdb.. backupset). Untuk informasi selengkapnya, lihat backupset (Transact-SQL).

Selama operasi pemulihan, jika checksum cadangan ada di media cadangan, secara default, pernyataan RESTORE dan RESTORE VERIFYONLY memverifikasi checksum cadangan dan checksum halaman. Jika tidak ada checksum cadangan, operasi pemulihan dilanjutkan tanpa verifikasi; ini karena tanpa checksum cadangan, pemulihan tidak dapat memverifikasi checksum halaman dengan andal.

Respons terhadap Kesalahan Checksum Halaman Selama Operasi Pencadangan atau Pemulihan

Secara default, setelah mengalami kesalahan checksum halaman, operasi PENCADANGAN atau PEMULIHAN gagal dan operasi RESTORE VERIFYONLY berlanjut. Namun, Anda dapat mengontrol apakah operasi tertentu gagal mengalami kesalahan atau berlanjut sebaik mungkin.

Jika operasi BACKUP berlanjut setelah mengalami kesalahan, operasi melakukan langkah-langkah berikut:

  1. Menandai set cadangan pada media cadangan sebagai berisi kesalahan dan melacak halaman dalam tabel suspect_pages dalam database msdb . Untuk informasi selengkapnya, lihat suspect_pages (Transact-SQL).

  2. Mencatat kesalahan dalam log kesalahan SQL Server.

  3. Menandai kumpulan cadangan sebagai berisi jenis kesalahan ini (di kolom is_damaged msdb.backupset). Untuk informasi selengkapnya, lihat backupset (Transact-SQL).

  4. Mengeluarkan pesan bahwa cadangan berhasil dibuat, tetapi berisi kesalahan halaman.

Tugas Terkait

Untuk mengaktifkan atau menonaktifkan checksum cadangan

Untuk mengontrol respons terhadap kesalahan selama operasi pencadangan

Lihat Juga

MENGUBAH DATABASE (T-SQL)
BACKUP (Transact-SQL)
backupset (Transact-SQL)
Set Media Cadangan Tercermin (SQL Server)
RESTORE (Transact-SQL)
PULIHKAN SECARA VERIFIKASI (Transact-SQL)