预算有限只能用 SQL Server 标准版?3 套高可用方案,2 台机器就能落地

预算有限只能用 SQL Server 标准版?3 套高可用方案,2 台机器就能落地

相信很多人会碰到下面的情况,公司预算有限只能使用SQL Server标准版,还想要自动故障转移、不丢数据、业务少停、少量机器 ,基于2~3台服务器就能落地。

SQL Server 2025 只剩下企业版,标准版,精简版

根据官方文档,本文整理了3套官方支持、可自动切换的高可用方案,覆盖工作组/域环境、有无共享存储 场景,直接照着选就行。

标准版可选的高可用方案
  • SQL Server 2016 SP1及以后,支持基本可用性组(Basic AG)
  • 支持数据库镜像(高安全模式)
  • 支持故障转移群集实例(FCI)

方案一:SQL Server故障转移群集(FCI)

定位 :实例级高可用,整库实例自动切换

节点 :2个数据库节点 + 1台AD域控

环境要求 :Windows域、必须共享存储

优势

  • 实例级高可用,所有系统库+用户库+登录用户+作业+链接服务器一起切换
  • 标准版直接支持
  • 切换干净,应用几乎无感知

局限

  • 部署Windows域
  • 依赖共享存储,存在存储单点
  • 不支持Windows工作组/多域群集
  • 需要 Kerberos 进行AD身份验证
  • 不能跨操作系统平台

部署分类:

1. 不加见证

依靠 WSFC集群的 Auto Tie Breaker + Last Man Standing 机制,2 节点集群即使不加见证,依然可以实现自动故障转移,并且即使只剩下最后一票,集群角色依然存活。整个集群只有 1 个有效投票 ,由当前主节点持有。

自动故障转移过程

(1). 主节点(当前持有投票的节点)宕机

  • 集群检测到主节点离线
  • 动态仲裁将唯一投票自动转移 到备用节点
  • 业务短暂中断
  • 备用节点获得投票,集群保持存活
  • 备用节点自动升级为新的主节点,承载 SQL Server FCI 实例
  • 业务通过虚拟网络名(VNN)自动连接到新主节点

(2). 备用节点(无投票节点)宕机

  • 主节点仍持有唯一投票,集群仲裁状态正常
  • SQL Server FCI 继续在原主节点运行
  • 业务完全不受影响
  • 待备用节点恢复后重新加入集群即可
2. 加见证

可选择:文件共享见证(放在AD域控)、磁盘见证、云见证

2 数据库节点 + 1 个见证, 形成 3 个奇数投票 ,满足 WSFC 标准仲裁规则和自动故障转移条件。

自动故障转移过程

(1). 原主节点宕机

  • 剩余 1 个节点 + 1 个见证 = 2/3 投票,达到仲裁多数
  • 集群判定主节点失效,启动故障转移
  • 业务短暂中断
  • 备用节点自动接管共享存储与虚拟 IP
  • SQL Server FCI 在备用节点上线,完成自动故障切换
  • 应用通过 VNN 无缝连接到新主节点

(2). 原备用节点宕机

  • 主节点 + 见证 = 2/3 投票,仲裁正常
  • 业务继续运行在主节点,无中断
  • 备用节点修复后重新加入集群并同步状态

(3). 见证节点/见证资源异常

  • 2 个数据库节点仍可依靠动态仲裁维持运行
  • 不影响当前主节点业务
  • 恢复见证后自动重新参与仲裁

方案二:Always On 基本可用性组

定位 :库级高可用,同步复制+自动切换,可以跨操作系统平台

版本 :SQL Server 2016 SP1+

前提 :基本可用性组的副本支持同步提交模式。

环境要求 :工作组和Windows域均可、不需要共享存储

节点架构(工作组 和 Windows域 二选一)

  1. 工作组环境(Windows Server 2016 或以上)分为 不加见证 和 加见证或者Linux环境

(1). 不加见证 (两台机器)

  • 2个数据库节点
  • 工作组环境优先用SQL Server身份验证
  • 自动故障转移过程和集群角色存活情况 跟SQL Server故障转移群集(FCI)方案的不加见证部署一样,依靠 WSFC集群的 Auto Tie Breaker + Last Man Standing 机制
  • Linux 版的SQL Server Always On额外支持一个仅配置副本

(2). 加见证 (两台机器)

  • 2个数据库节点 + 1 个见证, 形成 3 个奇数投票 ,满足 WSFC 标准仲裁规则和自动故障转移条件。
  • 见证:云见证 / 磁盘见证(工作组不支持**【文件共享见证FSW】** ),满足仲裁
  • 工作组环境优先用SQL Server身份验证

(3). 不加见证,3个WSFC节点 (三台机器)

  • 2个数据库节点 + 1个纯WSFC节点(共3个WSFC节点,第三个节点无需安装SQL Server数据库实例)
  • 3个WSFC节点 形成 3 个奇数投票 ,满足 WSFC 标准仲裁规则和自动故障转移条件。
  1. Windows域环境 (三台机器)
  • 2个数据库节点 + 1台AD域控
  • 见证:文件共享见证(FSW)可放在AD域控,满足仲裁,也可以使用云见证 / 磁盘见证
  • 2个数据库节点 + 1 个见证, 形成 3 个奇数投票 ,满足 WSFC 标准仲裁规则和自动故障转移条件。

局限

  • 仅支持1主1辅 共2个副本
  • 辅助库不可读写
  • 一个可用性组只支持一个数据库 ,但是可以创建多个基本可用性组以支持多个数据库,数据库数量多,工作量大,每个数据库都是独立切换

创建语句示例

  • 可在任意两台 SQL 2016 标准版或以上实例创建,创建时必须指定两个副本。

  • 使用 T‑SQL 创建时,执行 CREATE AVAILABILITY GROUP 并指定 WITH BASIC 选项(默认为 ADVANCED)。

  • SSMS 17.8 及以上版本支持通过 UI 创建

    CREATE AVAILABILITYGROUP [BasicAG]
    WITH (
    BASIC,
    AUTOMATED_BACKUP_PREFERENCE = PRIMARY,
    DB_FAILOVER = ON,
    REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 0
    )
    FORDATABASE [YourDB]
    REPLICA ON
    N'SQLNode1'WITH (
    ENDPOINT_URL = N'TCP://SQLNode1:5022',
    FAILOVER_MODE = AUTOMATIC,
    AVAILABILITY_MODE = SYNCHRONOUS_COMMIT
    ),
    N'SQLNode2'WITH (
    ENDPOINT_URL = N'TCP://SQLNode2:5022',
    FAILOVER_MODE = AUTOMATIC,
    AVAILABILITY_MODE = SYNCHRONOUS_COMMIT
    );
    GO

方案三:数据库镜像(高安全模式)

定位 :库级高可用,同步复制+自动切换,轻量,可以跨操作系统平台

节点 :3个(主体+镜像+见证)(三台机器)

版本 :SQL Server 2005 +

环境要求 :工作组和Windows域和Linux环境均可、不需要共享存储,不需要WSFC,使用Windows域(见证实例放在AD域控)

优势

  • 架构最轻,不用WSFC、不用Windows域
  • 高安全模式,数据零丢失

局限

  • 需要为每个数据库都搭建镜像,数据库数量多,工作量大
  • 每个数据库都是独立切换,不能像Always On那样整个可用性组整体切换
  • 镜像只支持高安全模式,不支持高性能模式

自动故障转移条件

自动故障转移由见证节点裁决

标准版高可用方案快速选型表

方案 节点数 Windows域/工作组 存储 自动切换 需要SQL 2016+ 只剩下最后一票,集群角色是否存活 从节点是否可读 支持操作系统 需要Win 2016+
基本可用性组 2~3个 均可 本地磁盘 ✅ 必须(2016 SP1及以上) 视见证而定:不加见证 ✅;加见证 ❌ ❌ 不可读(受标准版限制) Windows、Linux 工作组环境必须;域环境不需要
数据库镜像(高安全模式) 3个 均可 本地磁盘 ✅(需见证节点裁决) ❌ 不需要(2005及以上即可) ✅ 存活(主体库可独立运行) ❌ 不可读(镜像库处于还原中,无法访问) Windows、Linux ❌ 不需要
FCI故障转移群集 3个 Windows域 共享存储 ❌ 不需要 视见证而定:不加见证 ✅;加见证 ❌ ❌ 不可读(备用节点SQL服务停止) 仅 Windows ❌ 不需要

选型总结

本文针对SQL Server 标准版用户,在仅 2~3 台服务器的有限资源下,系统梳理了 3 种官方支持、可实现自动故障转移、数据零丢失的数据库高可用方案,全面覆盖域 / 工作组、有无共享存储等各类业务场景,为预算有限的生产环境提供可直接落地的高可用选型与参考。

参考文档

https://learn.microsoft.com/zh-cn/sql/sql-server/editions-and-components-of-sql-server-2025?view=sql-server-ver17\&preserve-view=true

https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/basic-availability-groups-always-on-availability-groups?view=sql-server-ver17

https://learn.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/windows-server-failover-clustering-wsfc-with-sql-server?view=sql-server-ver17

https://techcommunity.microsoft.com/blog/failoverclustering/workgroup-and-multi-domain-clusters-in-windows-server-2016/372059

https://learn.microsoft.com/zh-cn/sql/sql-server/failover-clusters/install/sql-server-failover-cluster-installation?view=sql-server-ver17

本文版权归作者所有,未经作者同意不得转载。

相关推荐
我心飞翔@坚持不懈7 天前
高并发高可用电商平台交易架构实战(避坑)指南
高并发·架构设计·高可用·分布式系统·电商架构·架构避坑
betazhou9 天前
电科金仓数据库V9 MySQL兼容版本搭建一主一从体验
数据库·mysql·oracle·主从·高可用·kingbase·v9 mysql兼容版本
betazhou18 天前
SQL server 2017镜像库主从同步架构部署
架构·sql server·高可用·主从同步·镜像库
betazhou21 天前
SQL server数据库镜像同步技术
数据库·sql server·高可用·数据库镜像
何中应21 天前
Nacos集群搭建
nacos·集群·高可用
志凌海纳SmartX23 天前
浅析 kernel bypass 网卡及其在超融合架构的性能表现
架构·网卡·高可用·低延迟·smartx·榫卯超融合
Thanks_ks25 天前
分布式锁:Redis 与 Redisson 的工程实践与避坑指南
java·redis·分布式锁·redisson·微服务架构·并发编程·高可用
炸炸鱼.2 个月前
使用 HAProxy 搭建高可用 Web 负载均衡集群
web·haproxy·高可用
炸炸鱼.2 个月前
LVS+Keepalived 高可用集群部署手册
lvs·keepalived·高可用