恢复数据库但不还原数据 (Transact-SQL)

通常,恢复数据库之前,将还原 SQL Server 数据库中的所有数据。 但是,还原操作可以恢复数据库而不实际还原备份;例如,恢复那些与数据库一致的只读文件时。 这称为“仅恢复还原”。 当脱机数据已与数据库一致且只需变为可用时,仅恢复还原操作将完成恢复数据库并使数据联机。

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

仅恢复数据库还原

在以下情况下仅恢复数据库还原十分有用:

  • 您未在还原位于还原顺序中的最后备份时恢复数据库,现在希望恢复该数据库并使其联机。

  • 数据库处于备用模式,但您希望在不应用其他日志备份的情况下可以更新数据库。

仅恢复数据库还原的 RESTORE 语法是:

RESTORE DATABASE database_name WITH RECOVERY

注意注意

未使用 FROM = <backup_device> 子句进行仅恢复还原,因为没必要备份。

示例

以下示例在还原操作中恢复 AdventureWorks2012 示例数据库而不还原数据。

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

[返回页首]

仅恢复文件还原

在以下情况下仅恢复文件还原十分有用:

数据库按段落进行还原。 完成主文件组的还原之后,一个或多个未还原的文件变为与新数据库的状态一致,这也许是因为这些文件最近始终是只读的。 只需恢复这些文件即可;无需复制数据。

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

仅恢复文件还原的 RESTORE 语法是:

RESTORE DATABASE database_name { FILE = logical_file_name | FILEGROUP = logical_filegroup_name }[ ,...n ]WITH RECOVERY

示例

以下示例显示了 Sales 数据库中辅助文件组 SalesGroup2 中文件的仅恢复文件还原。 已在段落还原的初始步骤中还原了主文件组,并且 SalesGroup2 与还原的主文件组一致。 只需一条语句即可恢复此文件组并使其变为联机状态。

RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;

[返回页首]

使用仅恢复还原完成段落还原方案的示例

简单恢复模式

完整恢复模式

请参阅

参考

RESTORE (Transact-SQL)

概念

联机还原 (SQL Server)

段落还原 (SQL Server)

文件还原(简单恢复模式)

文件还原(完整恢复模式)