Príznaky
Zoberme si nasledujúcu situáciu:
-
Používate inštanciu programu Microsoft SQL Server 2012 alebo SQL Server 2014, ktorý má NUMA povolené.
-
SQL Server je nakonfigurovaný na používanie mnohých jadier PROCESORA vo viacerých uzloch NUMA (napríklad 4 NUMA uzly, ktoré majú 12 jadier).
-
Spustíte kompiláciu s ťažkým zaťažením, ktoré generuje vysokú rýchlosť kompilácie z viacerých súbežných pripojení.
V tomto scenári si nevšimnete žiadne zvýšenie výsledkov kompilácie/SEC dotazu s rastúcim počtom dostupných jadier za 12 alebo tak. CPU môže tiež zobraziť využitie v percentách 100.Poznámka: Závažnosť nasýtenia PROCESORA závisí od počtu jadier na NUMA uzol a tiež od rýchlosti kompilácie.
Príčina
Tento problém sa vyskytuje, pretože SQL Server používa dátovú štruktúru, ktorá môže prispieť k modelom modelovania CPU na hardvéri s podporou NUMA v rámci súbežných kompilácií.
Riešenie
Po použití tejto opravy SQL Server nahradí používanie zdieľanej štruktúry s lokálnymi údajmi vlákna. Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera.
Kumulatívna aktualizácia balíka 1 pre SQL Server 2012 SP2 /en-us/help/2976982
Kumulatívna aktualizácia 2 pre SQL Server 2014 /en-us/help/2967546
Kumulatívna aktualizácia balíka 10 pre SQL Server 2012 SP1 /en-us/help/2954099
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Alternatívne riešenie
Ak chcete problém obísť, znížte mieru kompilácie v systéme servera 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.