Sintomas
Considere o seguinte cenário:
-
Utiliza uma instância do Microsoft SQL Server 2012 ou SQL Server 2014 que tem a NUMA ativada.
-
O SQL Server está configurado para utilizar muitos núcleos de CPU em vários nós NUMA (por exemplo, 4 nós NUMA que têm 12 núcleos cada).
-
Você executou uma carga de trabalho compila-pesada que gera uma alta taxa de compilação de várias ligações simultâneas.
Neste cenário, não se nota qualquer aumento dos resultados de uma consulta compilação/seg com um número crescente de núcleos disponíveis para além de 12 ou mais. Além disso, a CPU pode mostrar 100% de utilização.Nota A gravidade da saturação do CPU depende do número de núcleos por nó NUMA e também da sua taxa de compilação.
Causa
O problema ocorre porque o SQL Server utiliza uma estrutura de dados que pode contribuir para padrões de contenção de CPU em hardware ativado pela NUMA através de compilações simultâneas.
Resolução
Depois de aplicar esta correção, o SQL Server substitui a utilização de uma estrutura partilhada por dados locais de thread. O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Atualização Cumulativa 1 para SQL Server 2012 SP2 /en-us/help/2976982
Atualização Cumulativa 2 para SQL Server 2014 /en-us/help/2967546
Atualização Cumulativa 10 para SQL Server 2012 SP1 /en-us/help/2954099
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Solução
Para contornar o problema, reduza a taxa de compilação no seu sistema SQL Server.
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".