KB4022935 – OPRAVA: Nepovedlo se obnovit databázi pozastavené dostupnosti po chybě zápisu v SQL Server 2014 nebo 2016

Platí pro
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use)

Příznaky

Předpokládejme, že používáte skupinu dostupnosti Always On pro Microsoft SQL Server 2014 nebo 2016. Pokud u sekundární databáze dojde k chybě zápisu podobné následující, může být databáze pozastavena.

Poznámka

Chyba: 17053, závažnost: 16, stav: 1.
SQLServerLogMgr::LogWriter: Došlo k chybě operačního systému 6 (popisovač je neplatný).
Chyba zápisu během vyprázdnění protokolu.

Pokud v této situaci přesun dat obnovíte, databáze nebude obnovena a zůstane v pozastaveném stavu.

Alternativní řešení

Pokud chcete tento problém obejít, můžete restartovat instanci SQL Server nebo odebrat sekundární databázi ze skupiny dostupnosti a pak ji přidat zpět.

Řešení

Tento problém je opravený v následující kumulativní aktualizaci pro SQL Server:

Kumulativní aktualizace 8 pro SQL Server 2016 RTM

Kumulativní aktualizace 5 pro SQL Server 2016 CU5

Kumulativní aktualizace 6 pro SQL Server 2014 SP2

Informace o kumulativních aktualizacích 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. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

Nejnovější kumulativní aktualizace pro SQL Server 2016

Nejnovější kumulativní aktualizace pro SQL Server 2014

Poznámka:

Pokud po instalaci této aktualizace dojde k tomuto problému znovu, můžete spuštěním následujícího příkazu Transact-SQL restartovat databázi a pak pokračovat v přesunu dat do databáze.

ALTER DATABASE <database_name> SET HADR RESUME

Tato operace není automatizovaná. Proto musíte operaci obnovení provést ručně. Vzhledem k tomu, že většina typů chyb, které mají za následek pozastavení přesunů dat na sekundární replice, vyžaduje ruční zásah.

Pokud je například soubor protokolu umístěný ve sdílené složce nebo uložený v objektu blob ve službě Microsoft Azure a dojde ke ztrátě připojení, dojde k chybě 17053. Ruční zásah zajistí, že se nejprve obnoví připojení ke sdílené složce nebo objektu blob služby Azure, než vydáte příkaz HADR resume.

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.