Sintomi
Considerare lo scenario descritto di seguito:
-
Si usa un'istanza di Microsoft SQL Server 2012 o SQL Server 2014 che ha abilitato NUMA.
-
SQL Server è configurato per l'uso di molti core della CPU in più nodi NUMA, ad esempio 4 nodi NUMA con 12 core ognuno.
-
Si esegue un carico di lavoro pesante per la compilazione che genera una elevata velocità di compilazione da più connessioni simultanee.
In questo scenario, non si nota alcun aumento dei risultati di una query di compilazione/sec con un numero crescente di core disponibili oltre 12 o giù di lì. Inoltre, la CPU può mostrare l'utilizzo di 100 per cento.Nota La gravità della saturazione della CPU dipende dal numero di core per nodo NUMA e anche dalla velocità di compilazione.
Causa
Il problema si verifica perché SQL Server usa una struttura di dati che può contribuire a modelli di conflitto della CPU su hardware abilitato per NUMA tra compilazioni simultanee.
Risoluzione
Dopo aver applicato questa correzione, SQL Server sostituisce l'uso di una struttura condivisa con dati locali del thread. Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 1 per SQL Server 2012 SP2 /en-us/help/2976982
Aggiornamento cumulativo 2 per SQL Server 2014 /en-us/help/2967546
Aggiornamento cumulativo 10 per SQL Server 2012 SP1 /en-us/help/2954099
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Soluzione alternativa
Per risolvere il problema, ridurre la velocità di compilazione nel sistema di SQL Server.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".