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

适用范围:SQL Server

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

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

仅恢复数据库还原

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

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

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

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

RESTORE DATABASE *database_name* WITH RECOVERY

注意

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

示例

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

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

仅恢复文件还原

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

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

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

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

RESTORE DATABASE *database_name* { FILE **=**_logical_file_name_ | FILEGROUP **=**_logical_filegroup_name_ }[ **,**...*n* ] WITH RECOVERY

示例

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

RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;  

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

简单恢复模式

完整恢复模式

另请参阅

联机还原 (SQL Server)
段落还原 (SQL Server)
文件还原(简单恢复模式)
文件还原(完整恢复模式)
RESTORE (Transact-SQL)
还原和恢复概述 (SQL Server)