SQL Server 中的高可用性

原文:https://www . geesforgeks . org/高可用性-ha-in-sql-server/

它是一种解决方案或流程或技术,可在计划内或计划外停机的情况下,通过相同位置的不必要和容错组件,使服务或应用程序或数据库 24×7 和 100%可用。

MS SQL Server 中主要有五个选项来设置数据库的高可用性解决方案:

  • 分身术
  • 日志传送
  • 反映
  • 群集(故障转移群集)
  • 始终在线可用性组

复制: 源服务器称为发布服务器。目的服务器称为用户。有一个为订户存储复制数据的可选服务器,称为分发服务器

源数据通过复制代理(作业)复制到目标。复制的主要目的是从一个数据库向另一个数据库重复和分发信息。

我们将概述四种复制类型:

  • 快照复制
  • 事务复制
  • 合并复制
  • 对等复制

快照: 当对数据库拍摄快照并将快照复制到订阅服务器时,就会发生快照复制。快照复制可以用作初始数据集,在这种情况下,可以开始后续的复制过程,只需很少的更改。

  • 事务性: 事务性复制从应用于订阅服务器的发布服务器数据库的快照开始。一旦快照就绪,发布服务器上发生的所有事务都将被复制到订阅服务器。
  • 合并: 合并复制从应用于订阅服务器的发布服务器数据库的快照开始。在发布服务器和订阅服务器上所做的更改将被脱机隐藏。一旦发布者和订阅者同时恢复在线,订阅者就会与发布者同步,反之亦然。
  • 对等: 对等复制通常在事务发生时使用,它们在复制中涉及的所有节点上执行,以保持数据近乎实时同步。

日志传送: 源服务器称为服务器。目的服务器称为辅助服务器。有一个可选的服务器,将通过日志传送状态进行监控,称为监控服务器。

辅助数据库从主数据库恢复,不进行任何恢复,从而使最终用户无法以确定的时间间隔使用 SQL Server 代理和作业计划访问该数据库。虽然日志传送支持多个辅助服务器很好,但它可能是用于高可用性的最小数量,因为在故障切换发生之前,必须通过手动应用未恢复的日志备份来使辅助数据库完全更新。

镜像: 源服务器称为主体服务器。目的服务器称为镜像服务器。有一个用来进行自动故障转移的可选服务器叫做见证服务器。

当镜像数据库从主体恢复且没有恢复时,最终用户无法访问数据库。一旦启用镜像,主体上发生的所有事务都将复制到镜像。使用此选项进行故障转移通常只需几秒钟即可完成。如果主体服务器关闭,镜像服务器将自动成为主体。

集群(故障转移集群): 运行 SQL 服务的节点称为活动节点。不运行 SQL 服务的节点称为被动节点。

设置群集的先决条件– 带有共享存储的 Windows 群集设置。

集群– 它至少涉及两台服务器。群集将允许一台物理服务器接管另一台发生故障的物理服务器的责任。这通常用于需要接近 100%启动时间的关键环境。当一台服务器的资源出现故障时,另一台服务器将自动获得故障服务器停止运行的位置,导致很少或没有停机时间。

2 种聚类为:

  1. 主动/主动: 在主动/主动模式下运行时,SQL Server 在两台服务器上都处于主动运行状态。如果其中一台 SQL Server 出现故障,则另一台 SQL Server 将进行故障转移。
  2. 主动/被动: 在主动/被动模式下运行时,SQL Server 在一台服务器上运行,而另一台服务器等待,以防出现故障。这可能是最受欢迎的选择,因为它不会影响性能。

AlwaysON 可用性组: 源服务器称为副本。目标服务器称为二级副本。

设置 AlwaysON 的先决条件– 没有共享存储的 Windows 群集设置。

AlwaysON– 可用性组是 SQL Server 2012 引入的新功能。它使用称为可用性组的组,这些组包含选定的数据库,如果发生故障,这些数据库将一起进行故障转移。它由一个主复制副本和最多八个辅助复制副本组成,在主复制副本中,数据库可用于读写连接,辅助复制副本可用于只读连接以进行报告。为了使数据库用户更容易连接到可用性组,可以创建一个可用性组侦听器。可用性组侦听器是一个虚拟名称,由唯一的 DNS 名称、虚拟 IP 和 TCP 端口号组成,它提供到该可用性组上的复制副本的直接连接。