设置:
基本高可用性
2 个副本(1 个主副本,1 个辅助副本)。
DB01 => 初始初级。
DB02 => 初始二级
两者同步提交
两者都处于同步状态
没有配置监听器
集群类型 无
当我们使用 services.msc(模拟友好的服务器崩溃)停止 DB01(初始和当前主)SQL 服务,然后使用以下命令在 DB02(初始和当前辅助)上启动强制故障转移时:
ALTER AVAILABILITY GROUP [TestHA] FORCE_FAILOVER_ALLOW_DATA_LOSS;
辅助数据库上线,这是我们想要的。
但是,当使用 services.msc 再次启动 DB01 SQL Server 服务时,DB01 db 再次承担主要角色。
所以目前有 2 个实例可读/可写且不同步。我们期望初始主节点会检测到辅助节点已担任主要角色并承担次要角色,或者至少无法访问,因此应用程序无法处理旧数据。
相同的过程,但使用已弃用的镜像设置,确实会以这种方式运行。