Symptomen
Neem het volgende scenario:
-
U gebruikt Microsoft SQL Server 2016 Service Pack 2 (SP2) Cumulatieve update 2 (CU2) of latere versies.
-
U voert een exemplaar uit dat als host fungeert voor veel databases (meestal meer dan 200) en het exemplaar maakt deel uit van een AlwaysOn-beschikbaarheidsgroep (AG) (meestal met de rol van secundaire server). Opmerking Alle gebruikersdatabases hoeven niet tot AG's te behoren.
-
U voert een VSS-toepassing (Volume Shadow Copy Services) uit om een back-up aan te vragen van alle of een aantal databases van het SQL Server-exemplaar.
In dit scenario kan de SQL Writer-service een impassesituatie bereiken en voor onbepaalde tijd vergrendelingen behouden voor een interne systeemtabel in master (sys.sysdbreg met object_id 28). Bovendien voorkomen deze vergrendelingen op zijn beurt het lezen van dynamische beheerweergaven (DMV) van het systeem, zoals sys.dm_hadr_database_replica_states, en kunnen ze leiden tot belangrijke secundaire blokkeringen in het exemplaar. Bovendien ziet u dat de blokketenanalyse de volgende instructie retourneert die afkomstig is van de SQL Server VSS Writer als hoofdblokker:
"select name, recovery_model_desc, state_desc, CONVERT(integer, is_in_standby), ISNULL(source_database_id,0) from master.sys.databases"
Vervolgens heeft SQL Server de wachtstatus ASYNC_NETWORK_IO.
Opmerking Omdat het ASYNC_NETWORK_IO wachten is geïmplementeerd, zal de wait_time ertegen nooit meer dan twee seconden (2000 ms) overschrijden. Het wachttype blijft echter voor onbepaalde tijd behouden en deze situatie zal nooit op zichzelf deblokkeren. U moet de SQL Writer-service doden om de situatie te deblokkeren.
Onder SPID geblokkeerd door deze hoofdblokkering, zal er vaak een DBSTARTUP SPID (alwayson Secundaire DB opnieuw uitvoeren).
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Over cumulatieve updates voor SQL Server:
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingscorrecties die zijn opgenomen in de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Verwijzingen
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.