You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server 14.0.1000.169双向主从配置:是否需多可用性组及集群?

你的双向主备场景配置方案解答

嘿,这个双向主备的需求我碰到过不少,咱们直接把关键点理清楚:

1. 故障转移集群(WSFC):只需要1个就够了

Windows故障转移集群是SQL Server可用性组的底层依赖,你的两台节点A和B已经在同一个WSFC里了,所有的可用性组都可以共享这个集群资源。完全不需要再创建第二个集群,重复建集群反而会带来冲突和管理复杂度。

2. 可用性组(AG):必须配置2个独立的

每个可用性组对应一组数据库的主备关系:

  • 第一个AG:包含DB1,节点A作为主副本,节点B作为辅助副本(你已经搞定这个了)
  • 第二个AG:包含DB2,节点B作为主副本,节点A作为辅助副本

两个AG是相互独立的,各自管理自己数据库的故障转移逻辑,这样DB1和DB2的主备切换不会互相影响,正好满足你双向主备的需求。创建第二个AG的时候,注意在节点B上发起配置,指定DB2为主库,添加节点A作为辅助副本,复用之前配置好的数据库镜像端点就行(不用重新建端点)。

3. 监听器:建议配置2个,对应每个AG

监听器的作用是让应用能自动连接到AG的主库,不用手动修改连接字符串。针对你的场景:

  • 给第一个AG(DB1)配一个监听器,比如AG1-Listener,应用连接这个监听器访问DB1
  • 给第二个AG(DB2)配一个监听器,比如AG2-Listener,应用连接这个监听器访问DB2

当然,如果你能通过不同的连接字符串区分两个数据库,也可以不用两个监听器,但分开配置会更清晰,后续维护和故障排查也更方便。

额外注意事项

  • 确保两台节点的SQL Server服务账号有足够的权限访问WSFC资源和对方的数据库端点
  • 创建第二个AG时,DB2需要先做完整备份+日志备份,然后在节点A上还原(NORECOVERY模式),才能加入AG作为辅助副本
  • 测试两个AG的故障转移:手动切换DB1的AG到节点B,确认DB1在B上变成主库;切换DB2的AG到节点A,确认DB2在A上变成主库,确保双向切换都正常

内容的提问来源于stack exchange,提问作者Tomasz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:28:55