我正在尝试测试应用程序数据库的SQL Server AlwaysOn可用性组行为。我创建了可用性组,并能够从集群管理器或SQL Server工作室正确模拟failo ver。如果重新启动服务器活动节点,也会发生故障转移。
作为最后一次测试,我在主动节点上重新启动了SQL Server的Windows服务。我希望AG一旦服务停止就会故障转移到辅助节点,但它没有。主节点经历了服务重启。
当服务暂时停止时,没有节点切换。这是否意味着仅当服务停止某个阈值时才会发生故障转移?如果是这样,那个门槛是多少?
答案 0 :(得分:0)
回复旧线程,以便任何人阅读它都可以受益。
这是否意味着仅在服务关闭某个阈值时才会发生故障转移?如果是这样,那个门槛是多少?
不,不是这样。简而言之,WSFC并未启动故障转移,因为参数Failure-Condition Level
是默认值3。根据Microsoft官方文档Configure a flexible automatic failover policy for an Always On availability group,SQL Server重新启动才能触发故障转移,您需要Failure-Condition Level
= 1
您可以使用Powershell或Cluster GUI或TSQL更改值。参见Configure FailureConditionLevel property settings
例如:
下面的示例将SQL Server资源“ SQL Server(INST1)”上的FailureConditionLevel设置更改为故障转移或在严重服务器错误时重新启动。
Import-Module FailoverClusters
$fci = "SQL Server (INST1)"
Get-ClusterResource $fci | Set-ClusterParameter FailureConditionLevel 3