KB4578496 – OPRAVA: V SQL Server 2016 a 2017 dochází k pomalému výkonu při čekání CMEMTHREAD kvůli kolizi paměťového objektu mezipaměti dočasného tabulkového úložiště

Platí pro
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 2016 Service Pack 2 SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Příznaky

V Microsoft SQL Server 2016 a 2017 způsobuje kolize paměťového objektu mezipaměti dočasné tabulky čekání CMEMTHREAD, což vede ke snížení výkonu.

Příčina

Hlavním sporným bodem ve vysoce souběžných úlohách databáze tempdb, které vytvářejí dočasné tabulky v uložených procech, je kolize objektu paměti mezipaměti dočasné tabulky Temp. To se primárně zobrazí jako čekání CMEMTHREAD kvůli kolizi paměťového objektu cachestore, když se mnoho souběžných pracovních procesů pokusí vytvořit nebo zrušit dočasné tabulky. Vzhledem k tomu, že paměťový objekt cachestore není aktuálně rozdělen na oddíly, dochází ke kolizi paměťových objektů ve všech vláknech.

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Řešení

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

Poznámka: Řešením opravy je rozdělení paměťového objektu na oddíly (podle CPU), což zlepší výkon.

        

Informace o kumulativních aktualizacích pro SQL Server:

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:

Reference

Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.