SQL Server 提供了一个用于托管关系数据库的平台。制定不会中断任务关键型 SQL Server 工作负载的灾难恢复计划至关重要。Microsoft SQL Server是一个关系数据库管理系统,它可以支持广泛的应用程序,但数据必须随时供这些应用程序使用。
数据库服务的任何中断--无论是自然灾害、设备故障、网络攻击还是其他原因--都可能妨碍组织执行日常操作和开展日常业务。这可能导致用户不满、收入损失和声誉受损。组织必须制定有效的灾难恢复策略,以帮助最大限度地减少对数据库服务的中断SQL Server 服务,尤其是在支持任务关键型工作负载时。各种类型和规模的组织都使用SQL Server来支持事务处理、商业智能和分析应用程序。
做最坏的打算
与类似的数据库产品(如Oracle数据库或IBM的Db2)一样,SQL Server是基于结构化查询语言(SQL)构建的,这是一种标准化编程语言,为管理关系数据库和查询其数据提供了基础。SQL Server使用SQL的修改后的实现(称为Transact-SQL),它为标准语言添加了一组专有的编程扩展。
依赖SQL Server的应用程序必须能够访问数据以满足工作负载要求,但意外事件可能导致数据库不可用或数据丢失。数据服务中断的原因有很多,包括:
- 用户无意中删除关键数据;
- 一种恶意软件攻击 加密或销毁数据;
- 员工将咖啡洒在存储系统上;
- 电源故障导致数据损坏;
- 地震会破坏物理存储基础设施;
- 硬盘驱动器(HDD)发生故障并且该驱动器上的所有数据丢失;
- 管理员无意中格式化包含活动数据的HDD;
- 软件损坏导致数据丢失或缺乏可用性;
- 流氓雇员窃取物理存储设备。
这些绝不是数据可能变得不可用的唯一原因,而是说明了随时可能袭击任何组织的各种危机。无论原因是什么,防止数据丢失和服务中断的唯一方法是实施灾难恢复策略 幸运的是,SQL Server具有可帮助抵御灾难的功能,其中许多功能是该平台高可用性功能的一部分。
灾难恢复计划的主要目标是在发生灾难时确保业务连续性。但是,并非所有计划都是相同的,也不应该是相同的。应根据组织的特定数据保护要求定制灾难恢复计划。例如,驱动任务关键型财务应用程序的数据可能需要立即恢复,但用于生成月度销售报告的数据可能会容忍更长的延迟。在规划灾难恢复策略时,组织应确定以下三个指标:
- 恢复时间目标(RTO)。 这是应用程序因数据不可用而可处于脱机状态的最长时间。此度量确定数据在事件发生后需要以多快的速度恢复联机。
- 恢复点目标(RPO)。 这是发生事件时可以容忍的可接受数据丢失量。通常根据时间来考虑此度量。例如,如果数据库每两小时备份一次,并且在下一次计划备份之前发生灾难,则自上次备份以来发生的所有数据更改都将丢失。
- 恢复水平目标(RLO)。 这是恢复数据的粒度级别,例如实例、数据库或表级别。
组织最终必须在数据丢失风险与实施灾难恢复策略的成本之间进行平衡。RTO和RPO (in时间越长,RLO粒度,成本就越大。
SQL Server的灾难恢复策略
在组织确定所需的保护级别后,他们可以利用以下SQL Server功能来帮助减轻意外服务中断的影响:
- 备份和恢复。 经过充分测试的备份和恢复策略可以帮助保护数据库免受各种问题的影响,包括勒索软件、用户错误、硬件故障和自然灾害。将数据备份到单独的位置可以恢复数据库 保持一致的状态,避免灾难性的数据丢失;然而,恢复数据库可能是一个耗时的过程,并且在上次备份后所做的数据更改会丢失。随着勒索软件攻击的增加,备份变得尤为重要。
- Always On可用性组。 与备份一样,可用性组提供数据库级保护。可用性组由一组数据库组成,这些数据库一起故障切换到辅助实例。SQL Server最多可支持八套 可用性组中相应辅助数据库的数量。在可用性组中,数据库的事务将应用于另一个SQL Server实例上的复制副本数据库。可用性组用作数据库镜像的替代品,数据库镜像仍受支持,但在SQL Server 2012中已弃用。
- Always On故障转移群集实例。 故障转移群集使用Windows Server故障转移群集(WSFC) 节点框架,以提供实例级保护,其中包括数据库、链接服务器、SQL Server代理作业以及其他实例和数据库对象。故障转移群集由冗余节点组成,但一次只能有一个节点拥有WSFC资源组。群集还需要共享存储系统,如存储区域网络。故障转移是自动的,并且对连接的应用程序透明。
- SQL Server复制。 通过复制,可以将数据和数据库对象从一个数据库复制和分发到另一个数据库,然后使这些数据库保持同步。SQL Server支持三种类型的复制:事务、快照和合并。组织可以使用复制将数据分布到局域网、广域网、无线连接和Internet上的不同位置。SQL Server复制使用SQL Server代理同步数据库及其数据。
- 日志传送。 日志传送使管理员能够将一个SQL Server实例上的数据库事务日志自动应用于不同实例上的一个或多个辅助数据库。监视服务器维护备份和还原操作的历史记录和状态,并在操作失败时发出警报。日志传送使用SQL Server的备份和还原功能将事务日志从主实例复制到辅助实例。虽然日志传送很容易实现,但是切换到辅助数据库是一个手动操作,可能需要花费大量时间。
许多组织将这些功能组合部署,以帮助最大限度地保护数据并最大限度地减少停机时间。例如,数据库团队可能会使用日志传送沿着可用性组来保护其数据库。此外,大多数组织都会维护备份,而不管他们部署的是什么其他策略。许多组织还将SQL Server灾难恢复作为更大的灾难恢复策略的一部分来实施,该策略包含多个级别的保护。例如配置RAID 6存储 或备份运行SQL Server实例的虚拟机。
无论组织实施何种灾难恢复策略,都首先需要进行仔细规划,考虑RTO、RPO和RLO要求以及安全性和合规性等因素。灾难恢复还与组织的高可用性策略密切相关,后者依赖于许多相同的SQL Server工具。无论组织的类型或规模如何,灾难恢复都应是重中之重。组织在处理灾难时准备得越充分,就越有可能在灾难发生时度过难关。