Simptome
Luați în considerare următorul scenariu:
- Utilizați Microsoft SQL Server 2016 Service Pack 2 (SP2), actualizare cumulativă 2 (CU2) sau versiuni mai recente.
- Rulați o instanță care găzduiește multe baze de date (de obicei peste 200), iar instanța face parte din un grup de disponibilitate (AG) Always On (de obicei cu rolul de server secundar). Notă Nu este necesar ca toate bazele de date utilizator să aparțină grupurilor de grupare generală.
- Rulați o aplicație Volume Shadow Copy Services (VSS) pentru a solicita un backup a tuturor bazelor de date sau a unor baze de date ale instanței SQL Server.
În acest scenariu, Serviciu SQL Writer poate ajunge într-o situație de impas și poate păstra pe termen nelimitat blocările față de un tabel de sistem intern în coordonator (sys.sysdbreg cu object_id 28). În plus, aceste blocări împiedică citirea din vizualizările de management dinamic (DMV) ale sistemului, cum ar fi sys.dm_hadr_database_replica_states, și pot duce la blocări secundare majore în instanță. În plus, observați că analiza lanțului de blocuri returnează următoarea instrucțiune, provenită de la SQL Server VSS Writer ca blocator de cap:
"select name, recovery_model_desc, state_desc, CONVERT(integer, is_in_standby), ISNULL(source_database_id,0) from master.sys.databases"
Atunci SQL Server va avea starea de așteptare ASYNC_NETWORK_IO.
Notă Deoarece așteptarea ASYNC_NETWORK_IO este implementată, wait_time împotriva acesteia nu va depăși niciodată două secunde (2.000 ms). Cu toate acestea, tipul de așteptare va rămâne pe termen nelimitat, iar această situație nu se va debloca niciodată de la sine. Acesta vă solicită să închideți Serviciul SQL Writer pentru a debloca situația.
Printre SPID-urile blocate de acest blocator de cap, va exista adesea un DBSTARTUP SPID (alwayson Secondary DB redo).
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.
Rezolvare
Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server:
- Actualizarea cumulativă 15 pentru SQL Server 2017
- Actualizarea cumulativă 6 pentru SQL Server 2016 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 2017
- Cea mai recentă actualizare cumulativă pentru SQL Server 2016
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.