Príznaky
Ak používate novú inštanciu Microsoft SQL Server 2016 (alebo 2017) alebo inštanciu SQL Server 2016 (alebo 2017), ktorá sa inovovala zo staršej verzie SQL Server, vyskytnú sa problémy s výkonom z dôvodu vysokého využitia procesora. Okrem toho, ak dotazujete sys.dm_os_spinlock_stats tabuľku, všimnete si vysokú hodnotu v stĺpci číselníka pre riadky SECURITY_CACHE (vyrovnávacia pamäť zabezpečenia) a CMED_HASH_SET (vyrovnávacia pamäť metaúdajov) (v porovnaní s ostatnými riadkami v tabuľke). Všimnete si napríklad nasledujúce hodnoty.
Príčina
Tento problém sa vyskytuje z dôvodu sváru s vysokým spin lock vo vysoko súbežnom systéme. V týchto operačných systémoch viac procesorových vlákien súťaží o zdroje a spinning na predĺžený interval, zatiaľ čo oni bežia v slučke pravidelne určiť, či zdroj je k dispozícii namiesto okamžite prináša. Keď sa viaceré vlákna procesora neustále otáčajú ( v slučke ) zdroja namiesto toho, aby prinášali, spôsobuje to problémy s vysokým využívaním procesora a výkonom.
Riešenie
Tento problém bol opravený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:
Poznámka: Po použití kumulatívnej aktualizácie 2 (CU2) SQL Server 2016 sa názvy SECURITY_CACHE a CMED_HASH_SET zmenia na LOCK_RW_SECURITY_CACHE a LOCK_RW_CMED_HASH_SET. Po použití CU2 sa hodnoty zobrazia takto.
Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli zahrnuté do predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Získajte informácie o terminológii , ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.
Biela kniha Diagnostika a riešenie spinlock sváru na SQL Server diskutuje o otázkach a riešeniach, ktoré súvisia s spinlock sváru v detaile.