Pulihkan ke Nomor Urutan Log (SQL Server)
Berlaku untuk: SQL Server
Topik ini hanya relevan untuk database yang menggunakan model pemulihan penuh atau dicatat secara massal.
Anda dapat menggunakan nomor urutan log (LSN) untuk menentukan titik pemulihan untuk operasi pemulihan. Namun, ini adalah fitur khusus yang ditujukan untuk vendor alat dan tidak mungkin berguna secara umum.
Gambaran Umum Nomor Urutan Log
LSN digunakan secara internal selama urutan RESTORE untuk melacak titik waktu di mana data telah dipulihkan. Ketika cadangan dipulihkan, data dipulihkan ke LSN yang sesuai dengan titik waktu di mana cadangan diambil. Pencadangan diferensial dan log memajukan database yang dipulihkan ke lain waktu, yang sesuai dengan LSN yang lebih tinggi. Untuk informasi selengkapnya tentang LSN, lihat Arsitektur dan Panduan Manajemen Log Transaksi SQL Server.
Catatan
LSN adalah nilai numerik tipe data(25,0). Operasi aritmatika (misalnya, penambahan atau pengurangan) tidak bermakna dan tidak boleh digunakan dengan LSN.
Menampilkan LSN yang digunakan oleh Pencadangan dan Pemulihan
LSN rekaman log tempat peristiwa pencadangan dan pemulihan tertentu terjadi dapat dilihat menggunakan satu atau beberapa hal berikut ini:
sys.database_files; sys.master_files
Catatan
LSN juga muncul di beberapa pesan di log kesalahan.
Sintaks T-SQL untuk memulihkan ke LSN
Dengan menggunakan pernyataan RESTORE , Anda dapat berhenti di atau segera sebelum LSN, sebagai berikut:
Gunakan klausul WITH STOPATMARK ='lsn:<lsn_number>', di mana lsn:<lsnNumber> adalah string yang menentukan bahwa rekaman log yang berisi LSN yang ditentukan adalah titik pemulihan.
ROLL STOPATMARK diteruskan ke LSN dan menyertakan rekaman log tersebut dalam roll forward.
Gunakan klausul WITH STOPBEFOREMARK ='lsn:<lsn_number>', di mana lsn:<lsnNumber> adalah string yang menentukan bahwa rekaman log segera sebelum rekaman log yang berisi nomor LSN yang ditentukan adalah titik pemulihan.
STOPBEFOREMARK diteruskan ke LSN dan mengecualikan rekaman log tersebut dari roll forward.
Biasanya, transaksi tertentu dipilih untuk disertakan atau dikecualikan. Meskipun tidak diperlukan, dalam praktiknya, catatan log yang ditentukan adalah catatan penerapan transaksi.
Contoh
Contoh berikut mengasumsikan bahwa AdventureWorks
database telah diubah untuk menggunakan model pemulihan penuh.
RESTORE LOG AdventureWorks FROM DISK = 'c:\adventureworks_log.bak'
WITH STOPATMARK = 'lsn:15000000040000037'
GO
Tugas Terkait
Memulihkan Pencadangan Database Menggunakan SQL Server Management Directory
Memulihkan Database ke Titik Kegagalan Di bawah Model Pemulihan Penuh (Transact-SQL)
Memulihkan Database ke Transaksi Yang Ditandai (SQL Server Management Studio)
Memulihkan Database SQL Server ke Titik Waktu (Model Pemulihan Penuh)
Lihat Juga
Menerapkan Pencadangan Log Transaksi (SQL Server)
Log Transaksi (SQL Server)
RESTORE (Transact-SQL)
Gambaran Umum Pengembalian dan Pemulihan (SQL Server)
Arsitektur dan Panduan Manajemen Log Transaksi SQL Server