Kami menggunakan SQL 2005 Express Edition. Kami ingin membaca data dari file LDF untuk mengembalikan beberapa catatan yang dihapus.
Kami mencoba menggunakan versi percobaan dari ApexSQL yang banyak membantu kami. Alih-alih menggunakan perangkat lunak pihak ketiga, kami mencoba mencari tahu cara membaca file log sendiri.
Bagaimana kita bisa membaca dan memulihkan data dari file LDF?
sql-server
sql-server-2005
backup
restore
recovery
goofyui
sumber
sumber
Jawaban:
Anda akan memerlukan Full Backup sebelumnya dan semua backup log diambil sejak Full backup terakhir
1) Ambil ekor cadangan log
2) Temukan Transaksi untuk Catatan yang Dihapus (Pengoperasian akan menjadi LOP_DELETE_ROWS untuk DELETEs dan LOP_SET_BITS & LOP_MODIFY_ROW untuk Tabel TRUNCATE)
3) Kembalikan Kembali Penuh Sebelumnya dan log cadangan ditambah ekor ke database baru DENGAN NORECOVERY dan STOPAT = 'Sebelum Memulai Waktu untuk Transaksi'
Posting blog ini mencakup lebih detail menemukan waktu untuk STOPAT menggunakan fn_dblog. Posting blog ini bertujuan memulihkan data langsung dari log tetapi ini mungkin sangat memakan waktu dibandingkan dengan titik pemulihan waktu.
Juga posting blog ini oleh Robert L Davis memiliki contoh tentang menggabungkan STOP dan STANDBY untuk memungkinkan Anda untuk menanyakan keadaan basis data pada berbagai titik waktu.
sumber