Příznaky
Předpokládejme, že v Microsoft SQL Server 2014 nebo 2016 vytvoříte více než jednu skupinu dostupnosti a každý uzel vlastnil jednu skupinu dostupnosti. Když jeden uzel náhle vypnete nebo vypnete a kliknete na převzetí služeb při selhání ve skupině dostupnosti, která je ve stavu řešení, v této situaci nemůžete vybrat žádnou repliku v mřížce a aktuální primární replika je špatná.
Příčina
K tomuto problému dochází, protože následující příkaz vrátí nesprávnou primární repliku pro vyřešení AG, měla by být null. Následující příkaz ale vrátí aktivní node:select * from master.sys.dm_hadr_availability_group_states
Řešení
Tento problém byl opraven v následující kumulativní aktualizaci SQL Server:
- Kumulativní aktualizace 5 pro SQL Server 2016 RTM
- Kumulativní aktualizace 2 pro SQL Server 2016 SP1
- Kumulativní aktualizace 3 pro SQL Server 2014 SP2
Doporučení: Nainstalujte nejnovější kumulativní aktualizaci pro SQL Server
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Doporučujeme stáhnout a nainstalovat nejnovější kumulativní aktualizace pro SQL Server:
- Nejnovější kumulativní aktualizace pro SQL Server 2016
- Nejnovější kumulativní aktualizace pro SQL Server 2014 SP2
Alternativní řešení
Pokud chcete tento problém obejít, použijte následující příkaz Transact-SQL k ručnímu převzetí služeb při selhání:ALTER AVAILABILITY GROUP xxx FORCE_FAILOVER_ALLOW_DATA_LOSS;
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.