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:

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

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