復原到記錄序號 (LSN)
此主題僅與使用完整或大量記錄復原模式的資料庫有關。
SQL Server 2005 和更新版本可讓您使用記錄序號 (LSN) 來定義還原作業的復原點。這是為工具供應商提供的特定功能,未必普遍適用。
[!附註]
如需有關還原至特定復原點之需求的詳細資訊,請參閱<將資料庫還原到備份中的時間點>。
還原到 LSN 所用的 Transact-SQL 語法
透過使用 RESTORE 陳述式,您可以在 LSN 上,或剛好就在它之前停止,如下所述:
使用 WITH STOPATMARK ='lsn:<lsn_number>' 子句,其中 lsn:<lsnNumber> 這個字串會指定包含指定之 LSN 的記錄為復原點。
STOPATMARK 會向前復原到 LSN,並且將該筆記錄納入向前復原中。
使用 WITH STOPBEFOREMARK ='lsn:<lsn_number>' 子句,其中 lsn:<lsnNumber> 這個字串會指定緊接在包含指定之 LSN 號碼的記錄之前的記錄為復原點。
STOPBEFOREMARK 會向前復原到 LSN,並且從向前復原中排除該筆記錄。
通常會選取要納入或排除的特定交易。實際上雖不需要這麼做,但指定的記錄是交易認可記錄。
如需有關如何使用 LSN 的詳細資訊,請參閱<記錄序號和還原計畫>。
如需有關時間點還原的詳細資訊,請參閱<將資料庫還原到備份中的時間點>。
範例
下列範例假設 AdventureWorks2008R2 資料庫已變更為使用完整復原模式。
RESTORE LOG AdventureWorks2008R2 FROM DISK = 'c:\adventureworks2008R2_log.bak'
WITH STOPATMARK = 'lsn:15000000040000037'
GO