Síntomas
Imagine la siguiente situación:
-
Use una instancia de Microsoft SQL Server 2012 o SQL Server 2014 que tenga habilitado NUMA.
-
SQL Server está configurado para usar muchos núcleos de CPU en varios nodos NUMA (por ejemplo, 4 nodos NUMA que tengan 12 núcleos cada uno).
-
Ejecuta una carga de trabajo de compilación intensa que genera una elevada tasa de compilación a partir de varias conexiones simultáneas.
En este escenario, no se observa ningún aumento en los resultados de una consulta de compilación/seg con un número creciente de núcleos disponibles superiores a 12. Además, la CPU puede mostrar el 100 por ciento de uso.Nota La gravedad de la saturación de la CPU depende del número de núcleos por nodo NUMA y también de la tasa de compilación.
Causa
El problema se produce porque SQL Server usa una estructura de datos que puede contribuir a patrones de contención de la CPU en hardware habilitado para NUMA en compilaciones simultáneas.
Resolución
Después de aplicar esta corrección, SQL Server reemplaza el uso de una estructura compartida con datos locales de subproceso. El problema se solucionó por primera vez en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 1 para SQL Server 2012 SP2 /en-us/help/2976982
Actualización acumulativa 2 para SQL Server 2014 /en-us/help/2967546
Actualización acumulativa 10 para SQL Server 2012 SP1 /en-us/help/2954099
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
Solución alternativa
Para solucionar el problema, reduzca la tasa de compilación en el sistema SQL Server.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".