在不还原数据的情况下恢复数据库(Transact-SQL)

通常,在恢复数据库之前,SQL Server 数据库中的所有数据都会还原。 但是,还原作可以在不实际还原备份的情况下恢复数据库;例如,恢复与数据库一致的只读文件时。 这称为 仅用于恢复的还原。 当脱机数据已与数据库保持一致并且只需要供使用时,只执行恢复的还原操作将完成数据库的恢复,并将数据联机。

可以对整个数据库或一个或多个文件或文件组进行仅恢复还原。

Recovery-Only 数据库还原

在以下情况下,仅用于恢复的数据库还原可能有用:

  • 还原还原顺序中的最后一个备份时,未恢复数据库,现在想要恢复数据库以使其联机。

  • 数据库处于备用模式,你希望使数据库可更新,而无需应用另一个日志备份。

仅恢复数据库还原的 RESTORE 语法如下所示。

还原数据库 database_name 并恢复

注释

FROM =<backup_device> 子句不用于仅用于恢复的还原,因为此类还原不需要备份。

示例

以下示例在不还原数据的情况下,通过还原操作恢复AdventureWorks2012示例数据库。

-- Restore database using WITH RECOVERY.  
RESTORE DATABASE AdventureWorks2012  
   WITH RECOVERY  

Recovery-Only 文件还原

在以下情况下,仅用于恢复的文件还原非常有用:

数据库逐步还原。 主文件组还原完成后,一个或多个未还原的文件与新的数据库状态一致,可能是因为它在某段时间内为只读。 这些文件只需恢复;数据复制是不必要的。

仅恢复的还原操作将脱机文件组中的数据联机化; 数据复制、重做或撤消阶段不会发生。 有关还原阶段的信息,请参阅还原和恢复概述(SQL Server)。

仅用于恢复文件的 RESTORE 语法为:

恢复数据库 database_name { FILE =logical_file_name |FILEGROUP =logical_filegroup_name }[ ...n ] 带恢复

示例

以下示例演示了在Sales数据库中辅助文件组SalesGroup2中仅限恢复的文件还原。 主文件组已经作为分段还原的初始步骤被还原,并且 SalesGroup2 与还原后的主文件组保持一致。 恢复此文件组并将其联机只需要一个语句。

RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;  

使用 Recovery-Only 还原完成碎片还原方案的示例

简单恢复模式

完整恢复模式

另请参阅

联机还原(SQL Server)
碎片还原 (SQL Server)
文件还原 (简单恢复模式)
文件还原(完整恢复模式)
RESTORE (Transact-SQL)