Příznaky

Pokud používáte novou instanci Microsoft SQL Server 2016 (nebo 2017) nebo instanci SQL Server 2016 (nebo 2017), která je upgradovaná ze starší verze SQL Server, dochází k problémům s výkonem kvůli vysokému využití procesoru. Pokud se dotazujete na tabulku sys.dm_os_spinlock_stats , všimnete si také vysoké hodnoty ve sloupci spins pro řádky SECURITY_CACHE (Mezipaměť zabezpečení) a CMED_HASH_SET (Mezipaměť metadat) (ve srovnání s ostatními řádky v tabulce). Můžete si například všimnout následujících hodnot.

Chyba

Příčina

K tomuto problému dochází z důvodu vysoké kolize spin lock ve vysoce souběžném systému. V těchto operačních systémech soupeří více vláken procesoru o prostředky a po delší dobu se otáčejí, zatímco se pravidelně spouštějí ve smyčce, aby se zjistilo, jestli je prostředek k dispozici, a ne okamžitě. Pokud se u prostředku místo získávání stále otáčí více vláken procesoru (ve smyčce while ), způsobuje to vysoké využití procesoru a problémy s výkonem.

Řešení

Tento problém byl opraven v následujících kumulativních aktualizacích pro SQL Server:

Poznámka Po použití kumulativní aktualizace 2 (CU2) SQL Server 2016 se názvy SECURITY_CACHE a CMED_HASH_SET změní na LOCK_RW_SECURITY_CACHE a LOCK_RW_CMED_HASH_SET. Po použití CU2 se hodnoty zobrazí takto.

Aktualizovány

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

Nejnovější kumulativní aktualizace pro SQL Server 2017

Nejnovější kumulativní aktualizace pro SQL Server 2016

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×