SQL Server Always On 高可用性解决方案介绍

发布于:2025-06-30 ⋅ 阅读:(20) ⋅ 点赞:(0)

SQL Server Always On 是 Microsoft 提供的一套综合高可用性和灾难恢复解决方案,包含两个主要功能:

一、Always On 故障转移集群实例 (Failover Cluster Instances, FCI)

  1. 基本概念

    • 基于 Windows Server 故障转移集群 (WSFC)

    • 在集群节点间提供实例级的故障转移能力

    • 需要共享存储 (如 SAN、iSCSI 等)

  2. 主要特点

    • 自动检测故障并转移

    • 整个 SQL Server 实例故障转移

    • 客户端连接字符串无需更改数据库名称

    • 需要企业版或标准版(标准版限制2节点)

二、Always On 可用性组 (Availability Groups, AG)

  1. 基本概念

    • 数据库级别的高可用性解决方案

    • 允许一组用户数据库作为一个单元进行故障转移

    • 不需要共享存储

  2. 核心组件

    • 主副本:处理所有读写请求

    • 辅助副本:可配置为只读访问或纯备用

    • 可用性组监听器:提供统一的连接端点

  3. 工作模式

    • 同步提交:零数据丢失,高可用性

    • 异步提交:适用于远程灾难恢复站点

  4. 主要优势

    • 数据库级别的保护

    • 辅助副本可用于只读工作负载

    • 支持自动或手动故障转移

    • 支持最多5个同步副本和最多8个总副本(企业版)

三、Always On 与传统镜像对比

特性 Always On AG 数据库镜像
保护级别 数据库组 单个数据库
副本数量 最多8个 仅1个镜像
副本用途 可读/备用 仅备用
自动故障转移 支持 支持(有见证)
跨子网 支持 有限支持

四、部署要求

  1. 版本要求

    • 企业版:完整功能

    • 标准版:有限功能(基本可用性组)

  2. 系统要求

    • Windows Server 故障转移集群

    • 域环境(推荐)

    • 足够的网络带宽

  3. 硬件建议

    • 低延迟网络(同步提交需要<1ms)

    • 足够的存储性能

五、典型应用场景

  1. 高可用性:本地数据中心内保护

  2. 灾难恢复:跨地理位置保护

  3. 负载均衡:利用辅助副本处理只读工作负载

  4. 升级/维护:无停机升级

Always On 是 SQL Server 最强大的高可用性功能,特别适合关键业务应用,能够显著减少计划内和计划外停机时间。

AlwaysOn 故障转移集群实例(FCI)和 AlwaysOn 可用性组(AG)是 SQL Server 提供的两种高可用性和灾难恢复解决方案,它们在多个方面存在显著区别:

一、核心概念与架构

  1. AlwaysOn 故障转移集群实例(FCI)
    • 概念:FCI 利用 Windows Server 故障转移群集(WSFC)功能,在服务器实例级别提供本地高可用性。它表现为单台计算机上运行的 SQL Server 实例,但能在 WSFC 节点间自动故障转移。
    • 架构:FCI 是跨 WSFC 节点安装的单个 SQL Server 实例,一次只有一个节点拥有 WSFC 资源组。
  2. AlwaysOn 可用性组(AG)
    • 概念:AG 针对一组离散的用户数据库(称为“可用性数据库”)提供故障转移环境,支持高可用性和读取缩放。
    • 架构:一个 AG 支持一组读写主数据库以及一至八组对应的辅助数据库。每组可用性数据库由一个“可用性副本”托管,存在一个主副本和一到八个次要副本。

二、功能与特性

  1. FCI
    • 主要功能:提供实例级别的高可用性,自动故障转移,支持多种存储解决方案。
    • 特性:在故障转移过程中无需重新配置应用程序和客户端,通过间接后台检查点实现故障转移期间的可配置性和可预测性。
  2. AG
    • 主要功能:提供数据库级别的高可用性和灾难恢复,支持自动或手动故障转移,允许将次要副本用于只读工作负载。
    • 特性:支持多个次要副本(最多8个),提供自动页面修复功能,支持分布式可用性组(SQL Server 2016+)。

三、部署与配置

  1. FCI
    • 部署要求:需要在 WSFC 上部署,所有节点必须安装相同版本的 SQL Server,并使用域账户运行 SQL Server 服务。
    • 配置步骤:包括启用 AlwaysOn 功能、创建 FCI、配置存储和网络等。
  2. AG
    • 部署要求:同样需要在 WSFC 上部署,并满足 AG 的特定配置要求。
    • 配置步骤:包括创建可用性组、添加数据库、配置可用性副本和侦听器等。

四、应用场景与优势

  1. FCI
    • 应用场景:适用于需要实例级别高可用性的场景,如单个数据库实例的故障转移。
    • 优势:提供透明的故障转移过程,减少应用程序停机时间,支持多种存储解决方案。
  2. AG
    • 应用场景:适用于需要数据库级别高可用性和读取缩放的场景,如多个数据库的联合故障转移和只读工作负载的分配。
    • 优势:提供灵活的故障转移策略,支持多个次要副本,提高系统性能和资源利用率。

网站公告

今日签到

点亮在社区的每一天
去签到