Simptome
Să presupunem că ați configurat disponibilitatea AlwaysOn Grupare utilizând pacemaker pentru SQL Server 2017 pe Linux. În timp ce vă conectați la SQL Server, observați că grupul disponibilitate intermitentă failover are loc în timp ce conexiunea AG Helper expiră.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Rezolvare
Această problemă este remediată în următoarea actualizare cumulativă pentru SQL Server:
Despre actualizările cumulative pentru SQL Server:
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Mai multe informații
Să presupunem că ați configurat disponibilitatea Group (AG) utilizând pacemaker pentru SQL Server 2017 pe Linux. Luați în considerare faptul că agentul de resursepacemaker AG Helper utilizează următorul fișier de configurare a clusterului ca evidențiat. AG Helper utilizează intervalul de conexiune de 10 secunde, expirarea conexiunii de 30 de secunde și monitorizează expirarea 90 secunde pentru verificarea stării de bună funcționare.
<ID coordonator = "ha_cluster-coordonator" >
<Class primitiv = "OCF" ID = "ha_cluster" Provider = "MSSQL" Type = "AG" >
<instance_attributes id="ha_cluster-instance_attributes">
<nvpair ID = "ha_cluster-instance_attributes-ha_name" name = "ha_name" Value = "TEST_AG"/>
<nvpair ID = "ha_cluster-instance_attributes-trace_ra" name = "trace_ra" Value = "1"/>
</instance_attributes>
<operations>
<op ID = "ha_cluster-retrogradare-interval-0" interval = "0" nume = "retrogradare" expirare = "300"/>
<op ID = "ha_cluster-monitor-interval-60" interval = "60" name = "Monitor" expirare = "100"/>
<op ID = "ha_cluster-monitor-interval-11" interval = "10" nume = "Monitor" rol = "coordonator" expirare = "90"/>
<op ID = "ha_cluster-monitor-interval-12" interval = "12" nume = "Monitor" rolul = "slave" expirare = "60"/>
<op ID = "ha_cluster-notificare-interval-0" interval = "0" nume = "notificare" expirare = "60"/>
<op ID = "ha_cluster-promovare-interval-0" interval = "0" nume = "promovare" expirare = "60"/>
<op ID = "ha_cluster-început-interval-0" interval = "0" nume = "începeți" expirare = "60"/>
<op ID = "ha_cluster-stop-interval-0" interval = "0" nume = "oprire" expirare = "300"/>
</operations>
<meta_attributes id="ha_cluster-meta_attributes">
<nvpair ID = "ha_cluster-meta_attributes-expirare" name = "expirare" valoare = "30"/>
<nvpair ID = "ha_cluster-meta_attributes-nereușită-expirare" name = "eșec-expirare" valoare = "60"/>
</meta_attributes>
</primitive>
<meta_attributes id="ha_cluster-master-meta_attributes">
<nvpair ID = "ha_cluster-Master-meta_attributes-notificare" name = "notificare" Value = "True"/>
<nvpair ID = "ha_cluster-Master-meta_attributes-trace_ra" name = "trace_ra" valoare = "1"/>
</meta_attributes>
</master>
Înainte de actualizarea cumulativă 21 (CU21) pentru SQL Server 2017, dacă AG Health Check Connection Times out în timp ce vă conectați la SQL Server, a fost inițiată o acțiune retrogradă care duce la failover de AG la nodul secundar.
Începând cu CU21, dacă apare o expirare a conexiunii, agentul de resurse AG Helper va onora expirarea monitorului de 90 secunde și va încerca încă două conexiuni. Dacă toate cele trei încercări de conexiune nu reușesc, agentul de resurse AG Helper va declara SQL Server ca nu răspunde și pornește acțiunea retrogradare care duce la failover din grupul disponibilitate la nodul secundar.
Referințe
Aflați despre terminologiape care o utilizează Microsoft pentru a descrie actualizările de software.