症状
假设你已配置 AlwaysOn 可用性 在 Linux 上使用 SQL Server 2017 的 Pacemaker 进行分组。 连接到 SQL Server 时,注意到 "间歇性可用性" 组 当 AG 帮助程序连接超时时,将发生故障转移。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
关于 SQL Server 的累积更新:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
更多信息
假设你已通过在 Linux 上使用 SQL Server 2017 的 Pacemaker 配置了可用性组(AG)。 请注意,pacemaker AG 帮助程序资源代理 使用的是 突出显示的以下群集配置文件。 AG 帮助程序使用的连接间隔为10秒,连接超时为30秒,监视器的超时值为90秒,用于运行状况检查。
<母版 id = "ha_cluster-母版" >
<基元类 = "ocf" id = "ha_cluster" 提供商 = "mssql" type = "ag" >
<instance_attributes id="ha_cluster-instance_attributes">
<nvpair id = "ha_cluster-instance_attributes-ha_name" name = "ha_name" 值 = "TEST_AG"/>
<nvpair id = "ha_cluster-instance_attributes-trace_ra" name = "trace_ra" 值 = "1"/>
</instance_attributes>
<operations>
<op id = "ha_cluster 降级-间隔-0" 间隔 = "0","值 =" 已降级 "超时 =" 300 "/>
<op id = "ha_cluster-监视器-间隔-60s" interval = "60s" name = "monitor" timeout = "100"/>
<op id = "ha_cluster-监视间隔-11" interval = "10" name = "monitor" role = "Master" timeout = "90"/>
<op id = "ha_cluster-监视器-时间间隔-12" name = "monitor =" monitor "role =" 从属 "超时 =" 60 "/>
<op id = "ha_cluster-通知间隔-0" 间隔 = "0" name = "notify" timeout = "60"/>
<op id = "ha_cluster-提升间隔-0" 间隔 = "0" 名称 = "提升" 超时 = "60"/>
<op id = "ha_cluster-开始-间隔-0" 间隔 = "0" name = "start" timeout = "60"/>
<op id = "ha_cluster-停止间隔-0" 间隔 = "0" name = "stop" timeout = "300"/>
</operations>
<meta_attributes id="ha_cluster-meta_attributes">
<nvpair id = "ha_cluster-meta_attributes 超时" name = "timeout" 值 = "30s"/>
<nvpair id = "ha_cluster-meta_attributes 失败-超时" name = "失败-超时" 值 = "60s"/>
</meta_attributes>
</primitive>
<meta_attributes id="ha_cluster-master-meta_attributes">
<nvpair id = "ha_cluster-master-meta_attributes 通知" name = "notify" value = "true"/>
<nvpair id = "ha_cluster-master-meta_attributes-trace_ra" name = "trace_ra" 值 = "1"/>
</meta_attributes>
</master>
在 SQL Server 2017 的累积更新21(CU21)之前,如果 AG 运行状况检查连接在连接到 SQL Server 时超时,则会启动降级操作,以将 AG 转移到辅助节点。
从 CU21 开始,如果出现连接超时,AG 帮助程序资源代理将接受90秒的监视器超时,并将尝试两个连接。 如果所有三个连接尝试均失败,则 AG 帮助程序资源代理会将 SQL Server 声明为无响应,并启动降级操作,从而将可用性组故障转移到辅助节点。
参考
了解Microsoft 用于描述软件更新的术语 。