SQL Server 中的备份和还原策略简介

创建 SQL Server 备份的目的是为了可以恢复已损坏的数据库。但是,备份和还原数据必须根据特定环境进行自定义,并且必须使用可用资源。因此,可靠使用备份和还原以实现恢复需要有一个备份和还原策略。设计良好的备份和还原策略在考虑到特定业务要求的同时,可以尽量提高数据的可用性并尽量减少数据的丢失。

重要说明重要提示

请将数据库和备份放置在不同的设备上。否则,如果包含数据库的设备失败,备份也将不可用。此外,将数据和备份放置在不同的设备上还可以提高写入备份和使用数据库时的 I/O 性能。

备份和还原策略包含备份部分和还原部分。策略的备份部分定义备份的类型和频率、备份所需硬件的特性和速度、备份的测试方法以及备份媒体的存储位置和方法(包括安全注意事项)。策略的还原部分定义负责执行还原的人员以及如何执行还原以满足数据库可用性和尽量减少数据丢失的目标。建议您将备份和还原过程记录下来并在运行手册中保留记录文档的副本。

设计有效的备份和还原策略需要仔细计划、实现和测试。测试是必需环节。直到成功还原了还原策略中所有组合内的备份后,才会生成备份策略。必须考虑各种因素。其中包括:

  • 您的组织对数据库的生产目标,尤其是对可用性和防止数据丢失的要求。

  • 每个数据库的特性,包括:大小、使用模式、内容特性以及数据要求等。

  • 对资源的约束,例如:硬件、人员、备份媒体的存储空间以及所存储媒体的物理安全性等。

    注意注意

    在 64 位和 32 位环境中,SQL Server 磁盘存储格式均相同。因此,可以将 32 位环境中的备份还原到 64 位环境中,反之亦然。在运行在某个环境中的服务器实例上,可以还原在运行在另一个环境中的服务器实例上创建的备份。

恢复模式对备份和还原的影响

备份和还原操作发生在恢复模式的上下文中。恢复模式是一种数据库属性,用于控制事务日志的管理方式。此外,数据库的恢复模式还决定数据库支持的备份类型和还原方案。通常,数据库使用简单恢复模式或完整恢复模式。可以在执行大容量操作之前切换到大容量日志恢复模式,以补充完整恢复模式。有关这些恢复模式以及它们是如何影响事务日志管理方式的说明,请参阅恢复模式与事务日志管理

数据库的最佳恢复模式取决于您的业务要求。若要免去事务日志管理工作并简化备份和还原,请使用简单恢复模式。若要在管理开销一定的情况下使工作丢失的可能性降到最低,请使用完整恢复模式。有关恢复模式对备份和还原存在哪些影响的信息,请参阅以下主题:

设计备份策略

当为特定数据库选择了满足业务要求的恢复模式后,需要计划并实现相应的备份策略。最佳备份策略取决于各种因素,以下因素尤其重要:

  • 一天中应用程序访问数据库的时间有多长?

    如果存在一个可预测的非高峰时段,则建议您将完整数据库备份安排在此时段。

  • 更改和更新可能发生的频率如何?

    如果更改经常发生,请考虑下列事项:

    • 在简单恢复模式下,请考虑将差异备份安排在完整数据库备份之间。差异备份只能捕获自上次完整数据库备份之后的更改。

    • 在完整恢复模式下,应安排经常的日志备份。在完整备份之间安排差异备份可减少数据还原后需要还原的日志备份数,从而缩短还原时间。

  • 可能只是更改数据库的小部分内容,还是需要更改数据库的大部分内容?

    对于更改集中于部分文件或文件组的大型数据库,部分备份和/或文件备份非常有用。有关详细信息,请参阅部分备份完整文件备份

  • 完整数据库备份需要多少磁盘空间?

    有关详细信息,请参阅本主题后面的“估计完整数据库备份的大小”。

估计完整数据库备份的大小

在实现备份与还原策略之前,应当估计完整数据库备份将使用的磁盘空间。备份操作会将数据库中的数据复制到备份文件。备份仅包含数据库中的实际数据,而不包含任何未使用的空间。因此,备份通常小于数据库本身。您可以使用 sp_spaceused 系统存储过程估计完整数据库备份的大小。有关详细信息,请参阅 sp_spaceused (Transact-SQL)

计划备份

确定所需的备份类型和执行备份的频率后,建议您将定期备份计划为数据库维护计划的一部分。有关维护计划以及如何创建数据库备份计划和日志备份计划的信息,请参阅维护数据库(数据库引擎)维护计划向导

创建维护计划

创建并计划作业

测试备份

直到完成备份测试后,才会生成还原策略。必须通过将数据库副本还原到测试系统,针对每个数据库的备份策略进行全面测试。您必须对每种要使用的备份类型进行还原测试。

建议您为每个数据库维护一个操作手册。此操作手册应记录备份的位置、备份设备名称(如果有),以及还原测试备份所需的时间。