KB4538688 – RJEŠENJE: u SQL Server 2019. dolazi do ozbiljnih sukoba oko spinlocka

Primjenjuje se na
SQL Server 2019 on Windows SQL Server 2019 on Linux

Sažetak

Okruženja koja pokreću veliku količinu transakcija baze podataka na instanci sustava Microsoft SQL Server 2019 mogu proizvesti ozbiljne sukobe oko spinlocka. Sukob se općenito primjećuje na sustavima visoke klase koji koriste procesore novije generacije.

Mogu se primijetiti sljedeći uvjeti u vezi s ozbiljnim sporom o spinlock:

  • Često se primjećuje na modernom hardveru, posebno procesorima Intel Skylake. Može se primijetiti i na drugim modernim procesorima.
  • Obično se primjećuje na sustavima koji imaju mnogo procesora.
  • Okruženja mogu imati više istodobnih korisnika, kao što su kritična radna opterećenja s vrlo transakcijskim opterećenjima.
  • Simptomi uključuju neočekivano visoku upotrebu CPU-a i mnogo okretaja i odustajanja za određenu vrstu zaključavanja okretaja i veći broj okretaja po sudaru.

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.

Rješenje

Poboljšanje spinlocka prvi je put dostupno u kumulativnom ažuriranju 2 za SQL Server 2019. Dodatna poboljšanja napravljena su u sljedećim kumulativnim ažuriranjima za SQL Server:

Preporučujemo da primijenite najnovije kumulativno ažuriranje na ovom popisu kako bi se riješili različiti problemi s nametanjem spinlocka.

Važno: Da biste mogli ispraviti problem s zaključavanjem, mora se omogućiti zastavica praćenja 8101 nakon što primijenite jedno od skupnih ažuriranja s ovog popisa. 
 

O kumulativnim ažuriranjima za SQL Server

Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:

Otklanjanje poteškoća

Da biste otklonili poteškoće oko spinlocka, detaljne informacije o prepoznavanju i rješavanju problema povezanih s velikim opterećenjem CPU-a i spinlocka u aplikacijama SQL Server potražite u sljedećim člancima:

Reference

Saznajte više o terminologiji koju Microsoft upotrebljava za opisivanje softverskih ažuriranja.

sys.dm_os_spinlock_stats (Transact-SQL) | Microsoft Learn

DBCC TRACEON – praćenje zastavica (Transact-SQL)

Izjava o odricanju od odgovornosti za informacije trećih strana

Proizvode treće stane koji se spominju u ovom članku proizvode tvrtke neovisne o tvrtki Microsoft. Microsoft ne daje jamstva, ni izričita ni drugačija, glede performansi i pouzdanosti tih proizvoda.