恢复到特定时间

显示蓝色数据库磁盘的图标 本主题仅适用于使用完整恢复模式或大容量日志恢复模式的 SQL Server 数据库。

在大容量日志恢复模式下,如果日志备份包含大容量更改,则不能使用时点恢复方式恢复到该备份内的某个点。必须将数据库恢复到事务日志备份的结尾。

还原到特定时间

还原到特定时间的 Transact-SQL 语法

ms178143.note(zh-cn,SQL.90).gif注意:
指定特定时间或带标记的事务的语法与 Microsoft SQL Server 2000 中的一样,不同的是这些语法现在可以应用于 RESTORE DATABASE 和 RESTORE LOG。

RESTORE 语句提供了 STOPAT 选项,用于将数据库还原到特定时间点,此选项通常在还原日志备份时使用。

基本语法为:

RESTORE LOG database_name FROM <backup_device> WITH STOPAT =time, RECOVERY…

恢复点是在 time 指定的 datetime 值或之前发生的最后的事务提交。

若要只还原在特定时间点之前所做的修改,请为还原的每个备份指定 WITH STOPAT = 时间。这样确保了不会超出目标时间。

通常,时点还原顺序分为以下阶段:

  • 还原上次完整数据库备份以及上次差异数据库备份(如果有),而不恢复数据库 (RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY)。
  • 以事务日志备份的创建顺序应用每个事务日志备份,指定想要停止还原日志的时间 (RESTORE DATABASE database_name FROM <backup_device> WITH STOPAT**=time,** RECOVERY)。

有关详细信息,请参阅将数据库还原到备份中的某个时间点

请参阅

概念

应用事务日志备份
使用标记的事务(完全恢复模式)
了解 SQL Server 中备份的还原和恢复工作方式

其他资源

backupset (Transact-SQL)
RESTORE (Transact-SQL)
RESTORE HEADERONLY (Transact-SQL)
实现 SQL Server 数据库还原方案
将数据库还原到备份中的某个时间点
使用 SQL Server 数据库还原顺序

帮助和信息

获取 SQL Server 2005 帮助