恢复数据库但不还原数据 (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)