KB4022935 - REMEDIERE: Nu reușește să reia o bază de date cu disponibilitate suspendată după o eroare de scriere în SQL Server 2014 sau 2016

Se aplică la
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)

Simptome

Să presupunem că utilizați un grup de disponibilitate Microsoft SQL Server 2014 sau 2016 Always On (AG). Dacă pe o bază de date secundară are loc o eroare de scriere asemănătoare cu următoarea, baza de date poate fi suspendată.

Notă

Eroare: 17053, Severitate: 16, Stare: 1.
SQLServerLogMgr::LogWriter: Eroare sistem de operare 6(Handle-ul este nevalid.).
Eroare de scriere în timpul golirii jurnalului.

În această situație, dacă reluați deplasarea datelor, baza de date nu este reluată și rămâne în starea suspendată.

Soluție

Pentru a rezolva această problemă, puteți să reporniți instanța SQL Server sau să eliminați baza de date secundară din grupul de disponibilitate, apoi să o adăugați din nou.

Rezolvare

Această problemă este remediată în următoarea actualizare cumulativă pentru SQL Server:

Actualizarea cumulativă 8 pentru SQL Server 2016 RTM

Actualizarea cumulativă 5 pentru SQL Server 2016 CU5

Actualizarea cumulativă 6 pentru SQL Server 2014 SP2

Despre actualizările cumulative pentru SQL Server:

Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:

Cea mai recentă actualizare cumulativă pentru SQL Server 2016

Cea mai recentă actualizare cumulativă pentru SQL Server 2014

Notă

După ce instalați această actualizare, dacă această problemă apare din nou, puteți rula următoarea comandă Transact-SQL pentru a reporni baza de date și a relua apoi mișcarea datelor pentru baza de date.

ALTER DATABASE <database_name> SET HADR RESUME

Acest lucru nu este automatizat. Prin urmare, trebuie să emiteți manual operațiunea de reluare. Deoarece majoritatea tipurilor de erori ce duc la suspendarea mișcărilor de date în replica secundară necesită intervenție manuală.

De exemplu, dacă fișierul jurnal este amplasat într-un folder partajat sau stocat într-un blob Microsoft Azure și conexiunea este pierdută, va apărea eroarea 17053. Intervenția manuală va asigura că conexiunea la folderul partajat sau blobul Azure este restaurată înainte de a emite comanda de reluare HADR.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.

Referințe

Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.