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

 

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

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

QQ截图20260407200608

 

 

根据官方文档,本文整理了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

 

 

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


原文地址: https://www.cveoy.top/t/topic/qGug 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录