Проблемы
Рассмотрим следующий сценарий.
-
Вы используете экземпляр Microsoft SQL Server 2012 или SQL Server 2014 с включенной поддержкой NUMA.
-
Сервер SQL Server настроен на использование большого количества ядер ЦП на нескольких узлах NUMA (например, 4 узла NUMA, каждый из которых содержит 12 ядер).
-
Вы запускаете рабочую нагрузку с интенсивным компиляцией, которая создает высокую частоту компиляции из нескольких одновременных подключений.
В этом случае вы не заметите увеличение результатов запроса на компиляцию или секунду с увеличивающимся количеством доступных ядер за пределами 12. Кроме того, ЦП может показать использование 100%.Примечание. Серьезность насыщенности ЦП зависит от количества ядер на узел NUMA, а также от скорости компиляции.
Причина
Проблема возникает из-за того, что SQL Server использует структуру данных, которая может повлиять на шаблоны конфликтов ЦП на оборудовании с поддержкой NUMA для параллельных компиляций.
Решение
После применения этого исправления сервер SQL Server заменяет использование общей структуры локальными данными потока. Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Накопительное обновление 1 для SQL Server 2012 с пакетом обновления 2 (SP2) /en-us/help/2976982
Накопительное обновление 2 для SQL Server 2014 /en-us/help/2967546
Накопительное обновление 10 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/2954099
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Обходное решение
Чтобы обойти эту ошибку, уменьшите скорость компиляции в системе SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".