恢复到日志序列号 (LSN)
本主题仅适用于使用完整恢复模式或大容量日志恢复模式的数据库。
SQL Server 2005 允许您使用日志序列号 (LSN) 定义还原操作的恢复点。这是为工具供应商提供的专用功能,不太可能广泛使用。
还原到 LSN 的 Transact-SQL 语法
通过使用 RESTORE 语句,可以在 LSN 处或刚好在 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
请参阅
概念
其他资源
RESTORE (Transact-SQL)
实现 SQL Server 数据库还原方案
将数据库还原到备份中的某个时间点
使用 SQL Server 数据库还原顺序