Mencadangkan Log Transaksi Saat Database Rusak (SQL Server)
Berlaku untuk: SQL Server
Topik ini menjelaskan cara mencadangkan log transaksi ketika database rusak di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.
Dalam Topik Ini
Sebelum Anda mulai:
Untuk mencadangkan log transaksi saat database rusak, gunakan:
Sebelum Anda mulai
Batasan dan Pembatasan
- Pernyataan BACKUP tidak diizinkan dalam transaksi eksplisit atau implisit.
Rekomendasi
- Untuk database yang menggunakan model pemulihan penuh atau dicatat secara massal, Anda umumnya perlu mencadangkan ekor log sebelum mulai memulihkan database. Anda juga harus mencadangkan ekor log database utama sebelum melakukan failover pada konfigurasi pengiriman log. Memulihkan cadangan log ekor sebagai cadangan log akhir sebelum memulihkan database menghindari kehilangan kerja setelah kegagalan. Untuk informasi selengkapnya tentang pencadangan tail-log, lihat Tail-Log Backups (SQL Server).
Keamanan
Izin
IZIN BACKUP DATABASE dan BACKUP LOG default ke anggota peran server tetap sysadmin dan peran database tetap db_owner dan db_backupoperator .
Masalah kepemilikan dan izin pada file fisik perangkat cadangan dapat mengganggu operasi pencadangan. SQL Server harus dapat membaca dan menulis ke perangkat; akun tempat layanan SQL Server berjalan harus memiliki izin tulis. Namun, sp_addumpdevice, yang menambahkan entri untuk perangkat cadangan dalam tabel sistem, tidak memeriksa izin akses file. Masalah tersebut pada file fisik perangkat cadangan mungkin tidak muncul sampai sumber daya fisik diakses saat pencadangan atau pemulihan dicoba.
Menggunakan SQL Server Management Studio
Untuk mencadangkan ekor log transaksi
Setelah menyambungkan ke instans Mesin Database Microsoft SQL Server yang sesuai, di Object Explorer, klik nama server untuk memperluas pohon server.
Perluas Database, dan, bergantung pada database, pilih database pengguna atau perluas Database Sistem dan pilih database sistem.
Klik kanan database, arahkan ke Tugas, lalu klik Cadangkan. Kotak dialog Cadangkan Database muncul.
Dalam kotak daftar Database , verifikasi nama database. Anda dapat memilih database lain secara opsional dari daftar.
Verifikasi bahwa model pemulihan penuh atau BULK_LOGGED.
Dalam kotak daftar Jenis cadangan, pilih Log Transaksi.
Biarkan Salin Hanya Cadangan yang tidak dipilih.
Di area Kumpulan cadangan, terima nama kumpulan cadangan default yang disarankan dalam kotak teks Nama, atau masukkan nama yang berbeda untuk kumpulan cadangan.
Dalam kotak teks Deskripsi , masukkan deskripsi untuk cadangan log ekor.
Tentukan kapan kumpulan cadangan akan kedaluwarsa:
Agar kumpulan cadangan kedaluwarsa setelah jumlah hari tertentu, klik Setelah (opsi default), dan masukkan jumlah hari setelah pembuatan yang ditetapkan bahwa set akan kedaluwarsa. Nilai ini bisa dari 0 hingga 99999 hari; nilai 0 hari berarti bahwa set cadangan tidak akan pernah kedaluwarsa.
Nilai default diatur dalam opsi Retensi media cadangan default (dalam hari) dari kotak dialog Properti Server (halaman Pengaturan Database). Untuk mengakses kotak dialog ini, klik kanan nama server di Object Explorer dan pilih properti; lalu pilih halaman Pengaturan Database.
Agar set cadangan kedaluwarsa pada tanggal tertentu, klik Aktif, dan masukkan tanggal kedaluwarsa set.
Pilih jenis tujuan pencadangan dengan mengklik Disk atau Pita. Untuk memilih jalur hingga 64 disk atau kandar pita yang berisi satu set media, klik Tambahkan. Jalur yang dipilih ditampilkan dalam kotak Daftar Cadangan ke .
Untuk menghapus tujuan pencadangan, pilih dan klik Hapus. Untuk melihat konten tujuan pencadangan, pilih dan klik Konten.
Pada halaman Opsi , pilih opsi Timpa Media , dengan mengklik salah satu hal berikut ini:
Mencadangkan ke set media yang ada
Untuk opsi ini, klik Tambahkan ke kumpulan cadangan yang ada atau Timpa semua set cadangan yang ada.
Secara opsional, pilih Periksa nama set media dan kedaluwarsa set cadangan untuk menyebabkan operasi pencadangan memverifikasi tanggal dan waktu set media dan set cadangan kedaluwarsa.
Secara opsional, masukkan nama dalam kotak teks Nama set media. Jika tidak ada nama yang ditentukan, set media dengan nama kosong akan dibuat. Jika Anda menentukan nama set media, media (pita atau disk) dicentang untuk melihat apakah nama aktual cocok dengan nama yang Anda masukkan di sini.
Jika Anda membiarkan nama media kosong dan centang kotak untuk mencentangnya terhadap media, keberhasilan akan sama dengan nama media di media juga kosong.
Cadangkan ke set media baru, dan hapus semua set cadangan yang ada
Untuk opsi ini, masukkan nama di kotak teks Nama set media baru, dan, secara opsional, jelaskan kumpulan media dalam kotak teks Deskripsi set media baru.
Untuk informasi selengkapnya tentang opsi set media, lihat Set Media, Keluarga Media, dan Kumpulan Cadangan (SQL Server).
Di bagian Keandalan , secara opsional, periksa:
Verifikasi pencadangan setelah selesai.
Lakukan checksum sebelum menulis ke media.
Lanjutkan pada kesalahan checksum
Untuk informasi tentang checksum, lihat Kemungkinan Kesalahan Media Selama Pencadangan dan Pemulihan (SQL Server).
Di bagian Log transaksi , periksa Cadangkan ekor log, dan biarkan database dalam status pemulihan.
Ini setara dengan menentukan pernyataan BACKUP berikut:
BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY
Penting
Pada waktu pemulihan, kotak dialog Pulihkan Database menampilkan jenis cadangan log ekor sebagai Log Transaksi (Salin Saja).
Jika Anda mencadangkan ke drive pita (seperti yang ditentukan di bagian Tujuan di halaman Umum), opsi Bongkar pita setelah pencadangan aktif. Mengklik opsi ini mengaktifkan opsi Putar Balik pita sebelum membongkar .
SQL Server 2008 (10.0.x) Enterprise dan yang lebih baru mendukung kompresi cadangan. Secara default, apakah cadangan dikompresi tergantung pada nilai opsi konfigurasi server default kompresi cadangan. Namun, terlepas dari default tingkat server saat ini, Anda dapat mengompresi cadangan dengan memeriksa Kompres cadangan, dan Anda dapat mencegah kompresi dengan memeriksa Jangan kompres cadangan.
Untuk melihat default kompresi cadangan saat ini
Menggunakan T-SQL
Untuk membuat cadangan log transaksi aktif saat ini
Jalankan pernyataan LOG BACKUP untuk mencadangkan log transaksi yang saat ini aktif, menentukan:
Nama database tempat log transaksi untuk dicadangkan berada.
Perangkat cadangan tempat pencadangan log transaksi akan ditulis.
Klausa NO_TRUNCATE.
Klausa ini memungkinkan bagian aktif dari log transaksi untuk dicadangkan bahkan jika database tidak dapat diakses, asalkan file log transaksi dapat diakses dan tidak rusak.
Contoh (Transact-SQL)
Catatan
Contoh ini menggunakan AdventureWorks2022
, yang menggunakan model pemulihan sederhana. Untuk mengizinkan pencadangan log, sebelum mengambil cadangan database lengkap, database diatur untuk menggunakan model pemulihan penuh. Untuk informasi selengkapnya, lihat Menampilkan atau Mengubah Model Pemulihan Database (SQL Server).
Contoh ini mencadangkan log transaksi aktif saat ini ketika database rusak dan tidak dapat diakses, jika log transaksi tidak rusak dan dapat diakses.
BACKUP LOG AdventureWorks2022
TO MyAdvWorks_FullRM_log1
WITH NO_TRUNCATE;
GO
Lihat Juga
Memulihkan Pencadangan Log Transaksi (SQL Server)
Memulihkan Database SQL Server ke Titik Waktu (Model Pemulihan Penuh)
Mencadangkan Database (Halaman Opsi Cadangan)
Mencadangkan Database (Halaman Umum)
Menerapkan Pencadangan Log Transaksi (SQL Server)
BACKUP (Transact-SQL)
Pemulihan File (Model Pemulihan Sederhana)
Pemulihan File (Model Pemulihan Penuh)