Menerapkan Pencadangan Log Transaksi (SQL Server)
Berlaku untuk: SQL Server
Topik ini hanya relevan untuk model pemulihan penuh atau model pemulihan yang dicatat secara massal.
Topik ini menjelaskan penerapan pencadangan log transaksi sebagai bagian dari memulihkan database SQL Server.
Persyaratan untuk memulihkan cadangan log transaksi
Untuk menerapkan pencadangan log transaksi, persyaratan berikut harus dipenuhi:
Pencadangan Log yang Cukup untuk Urutan Pemulihan : Anda harus memiliki cukup catatan log yang dicadangkan untuk menyelesaikan urutan pemulihan. Cadangan log yang diperlukan, termasuk cadangan log ekor jika diperlukan, harus tersedia sebelum awal urutan pemulihan.
Urutan pemulihan yang benar: Pencadangan database lengkap atau pencadangan database diferensial sebelumnya harus dipulihkan terlebih dahulu. Kemudian, semua log transaksi yang dibuat setelah pencadangan database penuh atau diferensial harus dipulihkan dalam urutan kronologis. Jika cadangan log transaksi dalam rantai log ini hilang atau rusak, Anda hanya dapat memulihkan log transaksi sebelum log transaksi yang hilang.
Database belum dipulihkan: Database tidak dapat dipulihkan sampai setelah log transaksi akhir diterapkan. Jika Anda memulihkan database setelah memulihkan salah satu cadangan log transaksi perantara, yang sebelum akhir rantai log, Anda tidak dapat memulihkan database melewati titik tersebut tanpa memulai ulang urutan pemulihan lengkap, dimulai dengan pencadangan database lengkap.
Tip
Praktik terbaik adalah memulihkan semua cadangan log (
RESTORE LOG *database_name* WITH NORECOVERY
). Kemudian, setelah memulihkan cadangan log terakhir, pulihkan database dalam operasi terpisah (RESTORE DATABASE *database_name* WITH RECOVERY
).
Pemulihan dan log transaksi
Ketika Anda menyelesaikan operasi pemulihan dan memulihkan database, proses pemulihan dijalankan untuk memastikan integritas database. Untuk informasi selengkapnya tentang proses pemulihan, lihat Gambaran Umum Pemulihan dan Pemulihan (SQL Server).
Setelah proses pemulihan selesai, database online, dan tidak ada lagi cadangan log transaksi yang dapat diterapkan ke database. Misalnya, serangkaian pencadangan log transaksi berisi transaksi yang berjalan lama. Awal transaksi dicatat dalam pencadangan log transaksi pertama, tetapi akhir transaksi dicatat dalam pencadangan log transaksi kedua. Tidak ada catatan operasi penerapan atau pembatalan dalam pencadangan log transaksi pertama. Jika operasi pemulihan berjalan ketika pencadangan log transaksi pertama diterapkan, transaksi yang berjalan lama diperlakukan sebagai tidak lengkap, dan modifikasi data yang dicatat dalam pencadangan log transaksi pertama untuk transaksi digulung balik. SQL Server tidak mengizinkan pencadangan log transaksi kedua diterapkan setelah titik ini.
Catatan
Dalam beberapa keadaan, Anda dapat secara eksplisit menambahkan file selama pemulihan log.
Gunakan cadangan log untuk memulihkan ke titik kegagalan
Asumsikan urutan peristiwa berikut.
Waktu | Kejadian |
---|---|
Jam 8 pagi. | Cadangkan database untuk membuat cadangan database lengkap. |
Tengah hari | Mencadangkan log transaksi. |
Pukul 16:00. | Mencadangkan log transaksi. |
Pukul 18:00. | Cadangkan database untuk membuat cadangan database lengkap. |
Pukul 20:00. | Mencadangkan log transaksi. |
Pukul 21:45. | Kegagalan terjadi. |
Untuk penjelasan tentang contoh urutan cadangan ini, lihat Pencadangan Log Transaksi (SQL Server).
Untuk memulihkan database ke statusnya pada pukul 21.45 (titik kegagalan), salah satu prosedur alternatif berikut dapat digunakan:
Alternatif 1: Memulihkan database dengan menggunakan cadangan database lengkap terbaru
Buat cadangan log ekor dari log transaksi yang saat ini aktif pada titik kegagalan.
Jangan pulihkan pencadangan database lengkap 8:00 A.M. Sebagai gantinya, pulihkan cadangan database lengkap 6:00 P.M. yang lebih baru, lalu terapkan pencadangan P.M. log 8:00 dan cadangan log ekor.
Alternatif 2: Memulihkan database dengan menggunakan cadangan database lengkap sebelumnya
Proses alternatif ini berguna jika masalah mencegah Anda menggunakan pencadangan database lengkap 6:00 P.M. . Proses ini membutuhkan waktu lebih lama daripada memulihkan dari pencadangan database lengkap 6:00 P.M. .
Buat cadangan log ekor dari log transaksi yang saat ini aktif pada titik kegagalan.
Pulihkan cadangan database lengkap 8:00 A.M. , lalu pulihkan keempat cadangan log transaksi secara berurutan. Ini meneruskan semua transaksi yang diselesaikan hingga 9:45 P.M.
Alternatif ini menunjukkan keamanan redundan yang ditawarkan dengan mempertahankan rantai pencadangan log transaksi di serangkaian pencadangan database lengkap.
Dalam beberapa kasus, Anda juga dapat menggunakan log transaksi untuk memulihkan database ke titik waktu tertentu. Untuk informasi selengkapnya, Pulihkan Database SQL Server ke Titik Waktu (Model Pemulihan Penuh).
Tugas terkait
Untuk menerapkan pencadangan log transaksi
Untuk memulihkan ke titik pemulihan Anda
Memulihkan Database ke Titik Kegagalan Di bawah Model Pemulihan Penuh (Transact-SQL)
Memulihkan Database SQL Server ke Titik Waktu (Model Pemulihan Penuh)
SqlRestore (SMO)
Pemulihan Database Terkait yang Berisi Transaksi Yang Ditandai
Untuk memulihkan database setelah memulihkan cadangan menggunakan WITH NORECOVERY
Lihat juga
Log Transaksi (SQL Server)
Arsitektur dan Panduan Manajemen Log Transaksi SQL Server