Share via


復原到記錄序號 (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 的詳細資訊,請參閱<記錄序號和還原計畫>。

如需有關時間點還原的詳細資訊,請參閱<將資料庫還原到備份中的時間點>。

範例

下列範例假設 AdventureWorks 資料庫已變更為使用完整復原模式。

RESTORE LOG AdventureWorks FROM DISK = 'c:\adventureworks_log.bak' 
WITH STOPATMARK = 'lsn:15000000040000037'
GO