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

本主题仅适用于至少包含一个只读辅助文件组的简单模式数据库。

文件还原的目标是还原一个或多个损坏的文件,而不还原整个数据库。在简单恢复模式下,仅只读文件支持文件备份。在还原数据库备份或部分备份时,将始终一同还原主文件组和读/写辅助文件组。

注意注意

有关详细信息,请参阅执行数据库完整还原(简单恢复模式)执行段落还原

SQL Server 的所有版本都支持在数据库处于脱机状态时还原文件(脱机页面还原)。SQL Server 2005 Standard、SQL Server 2005 Express Edition、SQL Server 2005 Workgroup 以及更高版本仅支持脱机还原,并且将文件还原至主文件组时始终要求数据库处于脱机状态。如果数据库已经处于脱机状态,则 SQL Server 2005 Enterprise Edition 及更高版本使用脱机还原。

在 SQL Server 2005 Enterprise Edition 及更高版本中,如果在文件还原过程中数据库处于联机状态,则数据库将保持联机状态。数据库处于在线状态时还原和恢复文件称为“在线文件还原”。

这些文件还原方案如下:

  • 脱机文件还原

    在脱机文件还原中,还原已损坏的文件或文件组时数据库将处于脱机状态。还原顺序结束时,数据库将联机。

  • 联机文件还原

    在 SQL Server 2005 Enterprise Edition 及更高版本中,当数据库处于联机状态时将自动执行联机文件还原。不过,任何文件组中如果有文件正在被还原,则该文件组处于离线状态。恢复脱机文件组中的所有文件之后,该文件组将自动变为联机状态。有关联机还原的详细信息,请参阅执行联机还原

    注意注意

    当数据库处于联机状态时,其主文件组及所有读/写文件组均处于联机状态。只能查询或更新联机的文件组。尝试访问处于脱机状态的文件组(包括含有正在被还原或恢复的文件的文件组)会导致出现错误。

还原文件或文件组

文件还原方案由复制、前滚和恢复相应数据的单一还原顺序组成,如下所示:

从文件备份和差异文件备份中还原一个或多个受损文件

  1. 从各个损坏文件的最新文件备份还原每个文件。

  2. 针对每个还原的文件,还原最新的差异文件备份并恢复数据库。

还原文件和文件组

高级主题

文件还原的 Transact-SQL 还原顺序(简单恢复模式)

下列 Transact-SQL 代码显示了文件还原方案的还原顺序的 RESTORE 关键选项。将省略与此目的不相关的语法和详细信息。

此还原顺序包含两项操作。第一项操作是还原辅助文件(文件 A),该文件是使用 with NORECOVERY 还原的。第二项操作是还原其他两个文件(B 和 C),这两个文件是使用 with RECOVERY 从不同的备份设备还原的。

文件还原顺序如下:

RESTORE DATABASE <database> FILE = <name_of_file_A> 
   FROM <file_backup_of_file_A> 
   WITH NORECOVERY
RESTORE DATABASE <database> FILE=<name_of_file_B>, <name_of_file_C> 
   FROM <file_backup_of_files_B_and_C> 
   WITH RECOVERY
注意注意

如果使用 SQL Server 2005 Enterprise Edition 并希望数据库脱机以进行文件还原,请在开始还原顺序之前执行下列 ALTER DATABASE 语句以使数据库脱机:ALTER DATABASE <database_name> SET OFFLINE。

示例