Pencadangan log transaksi (SQL Server)
Berlaku untuk: SQL Server
Artikel ini hanya relevan untuk database SQL Server yang menggunakan model pemulihan penuh atau dicatat secara massal. Artikel ini membahas pencadangan log transaksi database SQL Server.
Minimal, Anda harus membuat setidaknya satu cadangan penuh sebelum dapat membuat cadangan log apa pun. Setelah itu, log transaksi dapat dicadangkan kapan saja kecuali log sudah dicadangkan.
Sebaiknya Anda sering mengambil cadangan log, baik untuk meminimalkan paparan kehilangan kerja maupun memotong log transaksi.
Administrator database biasanya membuat cadangan database lengkap sesekali, seperti mingguan, dan, secara opsional, membuat serangkaian cadangan database diferensial pada interval yang lebih singkat, seperti harian. Terlepas dari cadangan database, administrator database mencadangkan log transaksi secara berkala. Untuk jenis cadangan tertentu, interval optimal tergantung pada faktor-faktor seperti pentingnya data, ukuran database, dan beban kerja server. Untuk informasi selengkapnya tentang menerapkan strategi yang baik, lihat Rekomendasi dalam artikel ini.
Cara kerja urutan pencadangan log
Urutan rantai log pencadangan log transaksi tidak bergantung pada pencadangan data. Misalnya, asumsikan urutan peristiwa berikut.
Waktu | Kejadian |
---|---|
08.00 | Mencadangkan database. |
Tengah hari | Mencadangkan log transaksi. |
4:00 PM | Mencadangkan log transaksi. |
18.00 | Mencadangkan database. |
20.00 | Mencadangkan log transaksi. |
Pencadangan log transaksi yang dibuat pada pukul 20.00 berisi catatan log transaksi dari pukul 16.00 hingga 20.00, mencakup waktu ketika pencadangan database lengkap dibuat pada pukul 18.00. Urutan pencadangan log transaksi berkelanjutan, dari pencadangan database lengkap awal yang dibuat pada pukul 08.00, hingga pencadangan log transaksi terakhir yang dibuat pada pukul 20.00. Untuk informasi tentang cara menerapkan cadangan log ini, lihat contoh dalam Menerapkan Pencadangan Log Transaksi (SQL Server).
Rekomendasi
Jika log transaksi rusak, pekerjaan yang dilakukan karena cadangan yang valid terbaru hilang. Oleh karena itu kami sangat menyarankan Anda menempatkan file log Anda pada penyimpanan yang toleran terhadap kesalahan.
Jika database rusak, atau Anda akan memulihkan database, kami sarankan Anda membuat cadangan log ekor untuk memungkinkan Anda memulihkan database ke titik waktu saat ini.
Perhatian
Masalah yang diketahui: Untuk database dengan tabel yang dioptimalkan memori, melakukan pencadangan log transaksi tanpa pemulihan, dan kemudian menjalankan pemulihan log transaksi dengan pemulihan, dapat mengakibatkan proses pemulihan database yang tidak responsif. Masalah ini juga dapat memengaruhi fungsionalitas pengiriman log. Untuk mengatasi masalah ini, instans SQL Server dapat dimulai ulang sebelum memulai proses pemulihan.
Secara default, setiap operasi pencadangan yang berhasil menambahkan entri di log kesalahan SQL Server dan di log peristiwa sistem. Jika Anda mencadangkan log dengan sangat sering, pesan keberhasilan ini terakumulasi dengan cepat, yang mengakibatkan log kesalahan besar yang dapat menyulitkan menemukan pesan lain. Dalam kasus seperti itu, Anda dapat menekan entri log ini dengan menggunakan bendera pelacakan 3226 jika tidak ada skrip Anda yang bergantung pada entri tersebut. Untuk informasi selengkapnya, lihat Bendera Pelacakan (Transact-SQL).
Ambil cadangan log yang cukup sering untuk mendukung persyaratan bisnis Anda, khususnya toleransi Anda untuk kehilangan pekerjaan seperti yang mungkin disebabkan oleh penyimpanan log yang rusak.
Frekuensi yang sesuai untuk mengambil cadangan log tergantung pada toleransi Anda untuk paparan kehilangan kerja yang seimbang dengan berapa banyak cadangan log yang dapat Anda simpan, kelola, dan, berpotensi, pulihkan. Pikirkan tentang tujuan waktu pemulihan (RTO) dan tujuan titik pemulihan (RPO) yang diperlukan saat menerapkan strategi pemulihan Anda, dan khususnya irama cadangan log.
Mengambil cadangan log setiap 15 hingga 30 menit mungkin cukup. Jika bisnis Anda mengharuskan Anda meminimalkan paparan kehilangan kerja, pertimbangkan untuk lebih sering mengambil cadangan log. Pencadangan log yang lebih sering memiliki keuntungan tambahan untuk meningkatkan frekuensi pemotongan log, menghasilkan file log yang lebih kecil.
Penting
Untuk membatasi jumlah cadangan log yang perlu Anda pulihkan, penting untuk mencadangkan data Anda secara rutin. Misalnya, Anda mungkin menjadwalkan pencadangan database penuh mingguan dan cadangan database diferensial harian.
Sekali lagi, pikirkan tentang RTO dan RPO yang diperlukan saat menerapkan strategi pemulihan Anda, dan khususnya irama cadangan database penuh dan diferensial.