Simptome
Luați în considerare următorul scenariu:
-
Utilizați o instanță a Microsoft SQL Server 2012 sau SQL Server 2014 care are NUMA activat.
-
SQL Server este configurat să utilizeze mai multe nuclee CPU din mai multe noduri NUMA (de exemplu, 4 noduri NUMA care au câte 12 nuclee fiecare).
-
Rulează un volum de lucru compilat-greu care generează o rată mare de compilare din mai multe conexiuni simultane.
În acest scenariu, nu observați nicio creștere a rezultatelor unei interogări de compilare/sec, cu un număr tot mai mare de nuclee disponibile, după 12 sau cam așa ceva. De asemenea, CPU poate afișa utilizarea 100 la sută.Notă Severitatea saturației CPU depinde de numărul de nuclee per NUMA nod și, de asemenea, de rata de compilare.
Cauză
Problema apare deoarece SQL Server utilizează o structură de date care poate contribui la tiparele de conținut CPU din hardware-ul cu NUMA activat în compilarea simultană.
Rezolvare
După ce aplicați această remediere, SQL Server înlocuiește utilizarea unei structuri partajate cu date fir-locale. Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
Actualizarea cumulativă 1 pentru SQL Server 2012 SP2 /en-us/help/2976982
Actualizarea cumulativă 2 pentru SQL Server 2014 /en-us/help/2967546
Actualizare cumulativă 10 pentru SQL Server 2012 SP1 /en-us/help/2954099
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Soluție de evitare
Pentru a rezolva problema, reduceți rata de compilare în sistemul SQL Server.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.