仅备份SQL Server数据库是不够的。您还需要确保能够快速有效地从备份中恢复数据库。但是,通常可以看到备份在恢复时失败。根据网上的一篇文章调查,“在尝试恢复时,58%的数据备份失败”。
确定备份和恢复需求、设置自动备份计划和备份恢复测试是在SQL Server中成功备份和恢复过程中需要实施的一些最佳数据库备份实践。
本文讨论了五个值得探索的SQL Server数据库备份最佳实践。
1.确定备份和恢复需求
每个数据库的备份和恢复需求可能不同。例如,如果您有一个在夜间更新的数据库,那么在夜间更新之后立即进行一天的数据库备份就足够了。但是,如果您的数据库一整天都在更新,那么如果数据库在第二天备份之前发生故障,您可能会丢失一天的事务。
为了在恢复数据库时尽量减少数据丢失和停机时间,在为数据库开发备份解决方案之前,规划备份和恢复需求是至关重要的。
有两种重要的需求你必须考虑:
(i)恢复点目标(RPO),即您可以承受损失的数据量。
(ii)恢复时间目标(RTO),即数据库可以关闭多长时间而不会对您的业务造成任何重大损害。
更多详情,请阅读:RTO和RPO: SQL Server灾难恢复的有用注意事项
除了RPO和RTO要求外,您的备份计划还必须包括:
- 需要备份的内容:对于SQL Server,必须备份系统数据库和用户数据库。
- 备份类型:您必须确定是否应该进行完整备份和日志备份;完整、差异和尾日志备份、仅复制备份或文件和组备份。
2.不要使用与数据库文件相同的物理位置或设备
避免将数据库备份存储在与数据库文件相同的物理位置或驱动器上。如果物理驱动器出现故障(故障或崩溃),您将失去一切。因此,请确保没有使用相同的物理存储存储SQL Server数据库备份。另外,记住3-2-1备份规则:
- 任何东西都不应该只有一个副本;相反,应该有三份数据;
- 两个备份副本可以存储在本地(现场),但存储在不同类型的存储介质上;
- 至少有一份副本应该存储在站点以外的位置(例如云存储)。
3-2-1备份策略对于数据库管理员来说是一个很好的经验法则,可以在几乎任何数据丢失的情况下保持数据安全。
3.设置自动备份计划
设置一个自动计划来运行备份过程。定期安排备份将确保它们是最新的。对于调度备份,您可以使用以下两种方法中的任何一种:
- 你可以使用SQL Server代理创建定时备份作业,以确定的时间间隔(每日、每周或每月)自动运行备份。
- 您可以使用维护计划创建、执行和自动备份SQL数据库的向导。您可以在SQL Server Management Studio (SSMS)的“Management”下找到该向导。
4.测试备份
除了调度数据库备份之外,还必须对它们进行测试,以确保它们的有效性和完整性。这是因为备份可能会损坏,使您的业务数据处于危险之中。如果备份测试失败,您可以在灾难发生时丢失任何数据之前修复问题。
说到备份测试,这里有一些值得注意的要点:
- 创建数据库时,确定恢复模式你需要使用。完全恢复模型对于执行时间点恢复非常有用。如果数据库中的数据经常更改,则应避免使用此恢复模型。在执行包含大容量操作的事务日志备份时,可以将数据库恢复模型设置为大容量日志恢复模型。如果数据库的数据更改不频繁,则将数据库设置为简单恢复模型。
- 记录备份测试计划为执行数据恢复提供必要的指导和信息。欧宝app官网登录微软建议将文档副本保存在运行簿中。它应该包含如何测试备份、负责备份测试的各方以及测试备份的频率(每周、每月等)的详细信息。
- 自动化您的备份测试策略.它很重要,因为它将减轻负责执行常规备份的工作人员的负担。参考这个链接获取更多信息。
- 恢复备份后,建议执行以下操作使用DBCC CHECKDB进行数据库一致性检查验证备份介质是否损坏。
5.把正确的工具放在手里
在不可预见的情况下,当没有备份或备份损坏时,数据库管理员需要准备好处理备份和恢复失败。理想情况下,执行DBCC CHECKDB命令中带有“REPAIR_ALLOW_DATA_LOSS”选项可以帮助修复数据库损坏。但它可能导致数据丢失或失败,导致进一步停机。您可以使用一些工具来减少修复数据库所花费的时间和精力。一个这样的工具是MS SQL的Stellar Repair。
的SQL恢复工具来自Stellar®旨在帮助SQL数据库管理员修复严重损坏的数据库,而无需编写长行代码。该软件具有直观的图形用户界面,使修复SQL数据库(MDF)文件的过程成为一个无麻烦的任务。
查看这个视频,了解更多关于该软件的工作原理。
结论
DBA的主要职责是备份SQL Server数据库。但是,创建数据库备份只是第一步。能够从备份中恢复数据库同样重要。遵循本文中讨论的最佳实践可以帮助您确保可以从备份恢复数据库并恢复业务数据。