KB4480652 - JAVÍTÁS: SQL-író szolgáltatás nem észlelt holtpontokat okozhat a rendszer DMV-jén, amikor VSS biztonsági mentést készít

Hatókör
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

Tünetek

Vegyük például a következő esetet:

  • A Microsoft SQL Server 2016 Service Pack 2 (SP2) 2. összegző frissítését (CU2) vagy annak újabb verzióit használja.
  • Olyan példányt futtat, amely sok adatbázist üzemeltet (általában több, mint 200), és a példány egy folyamatosan elérhető rendelkezésre állási csoport (jellemzően másodlagos kiszolgáló szerepkörű) része. Megjegyzés Az összes felhasználói adatbázisnak nem kell AG-hoz tartoznia.
  • A Volume Shadow Services (VSS) alkalmazást futtatva biztonsági másolatot kér az SQL Server-példány összes vagy néhány adatbázisáról.

Ebben az esetben a SQL-író szolgáltatás holtpontra juthat, és határozatlan ideig zárolhatja a belső rendszertáblát a főkiszolgálón (sys.sysdbreg object_id 28-cal). Ezenkívül ezek a zárolások megakadályozzák a rendszer dinamikus kezelési nézeteiből (DMV) való olvasást, mint például a sys.dm_hadr_database_replica_states, és jelentős másodlagos blokkoláshoz vezethetnek a példányban. Ezenkívül észreveheti, hogy a blokklánc-elemzés az alábbi, az SQL Server VSS Writertől származó utasítást adja vissza, mint fejblokkolót:

"select name, recovery_model_desc, state_desc, CONVERT(egész, is_in_standby), ISNULL(source_database_id;0) from master.sys.databases"

Ezután SQL Server várakozási állapota ASYNC_NETWORK_IO lesz.

Megjegyzés Mivel a ASYNC_NETWORK_IO várakozási idő be van kapcsolva, a wait_time soha nem haladja meg a két másodpercet (2000 ms). A várakozási típus azonban határozatlan ideig megmarad, és ez a helyzet magától soha nem oldható fel. A helyzet feloldásához meg kell ölnie az SQL-író szolgáltatás.

A fejblokkoló által blokkolt SPID között gyakran van egy DBSTARTUP SPID (alwayson Secondary DB redo).

Állapot

A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.

Megoldás

A hibát az SQL Server következő összegző frissítéseiben javítottuk:

Az SQL Server összegző frissítéseinek ismertetése:

Az SQL Server minden új összegző frissítése tartalmazza az összes gyorsjavítást és minden biztonsági javítást, amely az előző kumulatív frissítésben szerepelt. Tekintse meg az SQL Server legújabb összegző frissítéseit:

Hivatkozások

Ismerje meg a Microsoft szoftverfrissítésekkel kapcsolatos terminológiáját.