通常,在恢复数据库之前,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)