Simptome
Luați în considerare următorul scenariu:
-
Utilizați actualizarea cumulativă 2 (CU2) Microsoft SQL Server 2016 Service Pack 2 (SP2) sau versiunile mai recente.
-
Rulați o instanță care găzduiește mai multe baze de date (de obicei mai mult de 200), iar instanța face parte dintr-un Grup de disponibilitate always on (AG) (de obicei, cu rolul de server secundar). Notă Toate bazele de date de utilizator nu trebuie să aparțină de gal-uri.
-
Rulați o aplicație VSS (Volume Shadow Copy Services) pentru a solicita o copie 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 la o situație de blocare și poate menține blocajele pe o perioadă nedeterminată împotriva unui tabel de sistem intern din coordonator (sys.sysdbreg cu object_id 28). În plus, aceste blocări împiedică citirea din vizualizările de gestionare dinamică (DMV) ale sistemului, cum ar fi sys.dm_hadr_database_replica_states, și pot duce la blocarea secundară majoră în instanță. În plus, observați că analiza înlănțuirii bloc returnează următoarea instrucțiune provenită de la SQL Server VSS Writer ca un blocant de cap:
"select name, recovery_model_desc, state_desc, CONVERT(integer, is_in_standby), ISNULL(source_database_id,0) from master.sys.databases"
Apoi, SQL Server va avea o stare de așteptare de ASYNC_NETWORK_IO.
Notă Deoarece este implementată așteptarea ASYNC_NETWORK_IO , wait_time față de aceasta nu va depăși niciodată două secunde (2.000 ms). Cu toate acestea, tipul de așteptare va rămâne la locul său pe o perioadă nedeterminată, iar această situație nu se va debloca niciodată singură. Este nevoie de tine pentru a ucide Serviciu SQL Writer pentru a debloca situația.
Printre SPID-ul blocat de acest blocant de cap, va exista adesea un DBSTARTUP SPID (redo db secundar întotdeauna).
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ătoarele actualizări cumulative pentru SQL Server:
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 în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.