将数据库还原到备份中的某个时间点
本主题仅适用于使用完整恢复模式或大容量日志恢复模式的 SQL Server 数据库。
最好将数据库还原和恢复到故障点之前的某个特定时点、标记或日志序列号 (LSN)。例如,如果某事务错误更改了一些数据,则可能需要将该数据库还原到紧邻在不正确数据项之前的那个恢复点。为数据库指定恢复点的任何还原都称为“时点还原”**。
时点还原的恢复点通常位于事务日志备份中。这是时点还原顺序中使用的上一个备份。应用此日志备份时,您可以在 STOPAT、STOPATMARK 或 STOPBEFOREMARK 子句中指定目标恢复点,以便仅恢复该时点之前的事务。恢复完成后,数据库的时间由主文件所恢复到的恢复点确定。后续还原(如果存在)的恢复点必须与该时间处的数据库一致。
使用下列方式之一指定目标恢复点:
- 事务日志中的特定时点。
- 以前插入事务日志记录中的命名标记。
- 日志序列号 (LSN)。
注意: |
---|
恢复到 LSN 是为工具供应商提供的专用功能,一般不广泛使用。 |
目标恢复点必须包含在事务日志备份中。此外,日志备份必须与时点还原顺序开始时还原的完整数据库备份或部分备份位于同一恢复路径中。
注意: |
---|
在大容量日志恢复模式下,如果日志备份包含大容量日志更改,则不能进行时点恢复,即不能恢复到该备份中的某个时点。必须将数据库恢复到事务日志备份的结尾。 |
本节内容
- 将数据库恢复到特定恢复点的最佳方法
列出一些将数据库还原到特定恢复点的最佳方法。
- 恢复到特定时间
包含有关如何执行下列操作的信息:通过仅恢复发生在事务日志备份中某个特定时点之前的事务(而不是整个备份)来恢复到某个时点。
- 恢复到标记的事务
包含有关如何恢复到事务日志中以前插入的标记或恰好恢复到该标记前的时间点的信息。
- 恢复到日志序列号 (LSN)
包含有关如何使用日志序列号 (LSN) 为还原操作定义恢复点的信息。
请参阅
概念
应用事务日志备份
使用标记的事务(完全恢复模式)
了解 SQL Server 中备份的还原和恢复工作方式
其他资源
backupset (Transact-SQL)
RESTORE (Transact-SQL)
RESTORE HEADERONLY (Transact-SQL)
实现 SQL Server 数据库还原方案
使用 SQL Server 数据库还原顺序