还原和恢复概述 (SQL Server)

若要从故障中恢复 SQL Server 数据库,数据库管理员必须按逻辑正确且有意义的还原顺序还原一组 SQL Server 备份。 SQL Server 还原和恢复支持从整个数据库的备份、数据文件或数据页还原数据,如下所示:

  • 数据库(完整的数据库恢复

    还原和恢复整个数据库,在还原和恢复作期间,数据库处于脱机状态。

  • 数据文件( 文件还原

    数据文件或一组文件已还原并恢复。 在文件还原期间,包含文件的文件组会在还原期间自动脱机。 任何尝试访问脱机文件组都会导致错误。

  • 数据页(页面恢复

    在完整恢复模式或大容量日志恢复模式下,可以还原单个数据库。 无论文件组数如何,都可以对任何数据库执行页面还原。

SQL Server 备份和还原能够在所有受支持的操作系统上运行,无论是64位还是32位系统。 有关支持的作系统的信息,请参阅 安装 SQL Server 2014 的硬件和软件要求。 有关对早期版本的 SQL Server 备份的支持的信息,请参阅 RESTORE (Transact-SQL) 的“兼容性支持”部分。

在本主题中:

还原方案概述

SQL Server 中的 还原方案 是从一个或多个备份还原数据,然后恢复数据库的过程。 支持的还原方案取决于数据库的恢复模式和 SQL Server 版本。

下表介绍了不同恢复模式支持的可能还原方案。

还原方案 在简单恢复模式下 在完整/大容量日志恢复模式下
完成数据库还原 这是基本的还原策略。 完整的数据库还原可能只涉及还原和恢复完整数据库备份。 或者,完整的数据库还原可能涉及还原完整数据库备份,然后还原和恢复差异备份。

有关详细信息,请参阅 “完整数据库还原”(简单恢复模式)。
这是基本的还原策略。 完整的数据库还原涉及还原完整数据库备份,(可选)差异备份(如果有),然后还原所有后续日志备份(按顺序)。 完整数据库还原是通过恢复最后一个日志备份和还原它(RESTORE WITH RECOVERY)来完成的。

有关详细信息,请参阅 “完整数据库还原”(完整恢复模式)
文件还原 * 还原一个或多个损坏的只读文件,而无需还原整个数据库。 仅当数据库至少有一个只读文件组时,文件还原才可用。 还原一个或多个文件,而无需还原整个数据库。 可以在数据库脱机时执行文件还原,或者对于某些版本的 SQL Server,而数据库保持联机状态。 在文件还原期间,包含正在还原的文件的文件组始终处于脱机状态。
页面还原 不適用 还原一个或多个损坏的页面。 可以在数据库脱机时执行页面还原,也可以在某些版本的 SQL Server 中数据库保持联机时执行。 在页面还原期间,正在还原的页面始终处于脱机状态。

必须提供一个不间断的日志备份链,直至当前的日志文件,并且必须将所有这些日志备份应用于将页面更新到当前的日志文件。

有关详细信息,请参阅还原页(SQL Server)。
段落还原 * 从主文件组和所有读/写辅助文件组开始,在文件组级别分阶段还原和恢复数据库。 从主文件组开始,在文件组级别分阶段还原和恢复数据库。

* 仅企业版支持联机还原。

无论如何还原数据,在恢复数据库之前,SQL Server 数据库引擎都保证整个数据库在逻辑上是一致的。 例如,如果还原文件,则无法恢复文件并将其联机,直到它向前滚动到足够远,才能与数据库保持一致。

文件或页面还原的优点

还原和恢复文件或页面(而不是整个数据库)具有以下优势:

  • 还原较少的数据可以减少复制和恢复数据所需的时间。

  • 在 SQL Server 上,还原文件或页面可能会允许数据库中的其他数据在还原作期间保持联机状态。

恢复模式和支持的还原操作

可用于数据库的还原操作取决于其恢复模式。 下表总结了每个恢复模式是否支持给定的还原方案以及其程度。

还原作 完全恢复模式 大容量日志恢复模式 简单恢复模式
数据恢复 完全恢复(如果日志可用)。 某些数据可能丢失的风险。 自上次完整备份或差异备份以来的任何数据都将丢失。
时间点还原 日志备份所涵盖的任何时间。 如果日志备份包含任何大容量日志的更改,则不允许。 不支持。
文件恢复 * 全面支持。 有时。** 仅适用于只读辅助文件。
页面还原 * 全面支持。 有时。** 没有。
段落(文件组级)还原 * 全面支持。 有时。** 仅适用于只读辅助文件。

* 仅在 SQL Server 企业版中可用

** 有关所需条件,请参阅本主题后面的 简单恢复模式下的还原限制

重要

无论数据库的恢复模式如何,SQL Server 备份都不能由早于创建备份的版本 SQL Server 还原。

简单恢复模式下的还原方案

简单的恢复模式对还原作施加以下限制:

如果上述任何限制不适合恢复需求,建议考虑使用完整恢复模式。 有关详细信息,请参阅备份概述(SQL Server)。

重要

无论数据库的恢复模式如何,SQL Server 备份都不能由早于创建备份的版本 SQL Server 还原。

使用 Bulk-Logged 恢复模式进行还原

本部分讨论仅适用于大容量日志恢复模式的还原注意事项,该模式仅用作完整恢复模式的补充。

注释

有关大容量日志恢复模式的简介,请参阅事务日志(SQL Server)。

通常,大容量日志恢复模式类似于完整恢复模式,针对完整恢复模式描述的信息也适用于这两者。 但是,时间点恢复和联机还原受大容量日志恢复模式的影响。

时间点恢复的限制

如果在大容量日志恢复模式下执行的日志备份包含大容量记录的更改,则不允许进行时间点恢复。 尝试对包含批量更改的日志备份执行时间点恢复将导致还原作失败。

联机还原的限制

仅当满足以下条件时,联机还原序列才有效:

  • 在还原序列开始之前,必须执行所有必需的日志备份。

  • 在启动联机还原序列之前,必须备份批量更改。

  • 如果数据库中存在批量更改,则所有文件都必须处于联机状态或已失效。 (这意味着它不再是数据库的一部分。

如果未满足这些条件,联机还原序列将失败。

注释

建议在启动联机还原之前切换到完整恢复模式。 有关详细信息,请参阅恢复模式 (SQL Server)

有关如何执行联机还原的信息,请参阅联机还原(SQL Server)。

数据库恢复顾问 (SQL Server Management Studio)

数据库恢复顾问有助于构建实现最佳正确还原序列的还原计划。 解决了客户请求的许多已知数据库还原问题和增强功能。 数据库恢复顾问引入的主要增强功能包括:

  • 还原计划算法: 用于构造还原计划的算法已显著改进,尤其是对于复杂的还原方案。 许多边缘案例(包括时间点还原中的分叉方案)比以前版本的 SQL Server 处理得更高效。

  • 时间点还原: 数据库恢复顾问能够极大地简化将数据库还原到给定的时间点的过程。 视觉备份时间线极大地增强了对时间点还原的支持。 通过此视觉时间线,可以将可行时间点标识为还原数据库的目标恢复点。 时间线有助于遍历一个分叉式恢复路径(即跨越多个恢复分叉的路径)。 给定的时间点还原计划自动包括与还原到目标时间点(日期和时间)相关的备份。 有关详细信息,请参阅将 SQL Server 数据库还原到时间点(完全恢复模式)。

有关数据库恢复顾问的详细信息,请参阅以下 SQL Server 可管理性博客:

相关内容

没有。

另请参阅

备份概述 (SQL Server)