KB4480652 - REMEDIERE: Serviciu SQL Writer pot cauza blocări nedetectate ale DMV de sistem atunci când efectuați un backup VSS

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 2017 on Windows

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:

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:

Referințe

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