Bagikan melalui


Pulihkan ke Nomor Urutan Log (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.

Setiap rekaman dalam log transaksi diidentifikasi secara unik oleh nomor urutan log (LSN). LSN diurutkan sed sehingga jika LSN2 lebih besar dari LSN1, perubahan yang dijelaskan oleh catatan log yang dimaksud oleh LSN2 terjadi setelah perubahan yang dijelaskan oleh LSN catatan log.

LSN rekaman log tempat peristiwa signifikan terjadi dapat berguna untuk membangun urutan pemulihan yang benar. Karena LSN diurutkan, LSN dapat dibandingkan dengan kesetaraan dan ketidaksetaraan (yaitu, <, , >=, <=, >=). Perbandingan tersebut berguna saat membuat urutan pemulihan.

Catatan

LSN adalah nilai jenis numericdata (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 teks pesan.

Sintaks T-SQL untuk Memulihkan ke LSN

Dengan menggunakan pernyataan RESTORE , Anda dapat berhenti di atau segera sebelum LSN, sebagai berikut:

  • Gunakan klausa WITH STOPATMARK ='lsn:<lsn_number>' , di mana lsn:<lsnNumber> adalah string yang menentukan bahwa rekaman log yang berisi LSN yang ditentukan adalah titik pemulihan.

    STOPATMARK roll meneruskan ke LSN dan menyertakan rekaman log tersebut dalam roll forward.

  • Gunakan klausa 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

Terapkan Pencadangan Log Transaksi (SQL Server)
Log Transaksi (SQL Server)
RESTORE (Transact-SQL)