Я вошел в систему новых клиентов и запустил sp_blitz, чтобы посмотреть, что дрожит. Он сообщает, что " CPU Schedulers Offline " является новым для меня.
Некоторые ядра ЦП недоступны для SQL Server из-за проблем с маскированием или лицензированием.
Справедливо, я запускаю базовый запрос
SELECT
DOS.is_online
, DOS.status
, DOS.*
FROM
sys.dm_os_schedulers AS DOS
ORDER BY
1;
Это сообщает, что у меня 8 установлено в VISIBLE OFFLINE, 43 в онлайн. Насколько мне известно, никто на этом клиенте не установил бы намеренно какую-либо привязку к процессору.
Я решил посмотреть, смогу ли я отменить это. Когда я смотрю в окно свойств, я вижу 40 доступных процессоров, и ни один из них не имеет сродства.
Почему 40 показывает 43 записи в dm_os_schedulers, где is_online - true, тоже любопытно. Cpu_id из 8 офлайн - от 32 до 39.
Кажется, что sys.configurations совпадает со сродством, которое явно не включено
name value value_in_use description
affinity I/O mask 0 0 affinity I/O mask
affinity mask 0 0 affinity mask
affinity64 I/O mask 0 0 affinity64 I/O mask
affinity64 mask 0 0 affinity64 mask
Это не выпуск Enterprise Edition, поэтому дедушка CAL не должен быть здесь важным фактором, но я могу задать этот вопрос завтра, если потребуется
ProductVersion ProductLevel ProductUpdateLevel Edition
11.0.5058.0 SP2 NULL Standard Edition (64-bit)
Запуск диагностических запросов Гленна Берри, этот материал может быть актуальным
- Производитель системы: «Dell Inc.», модель системы: «PowerEdge R720».
- Intel (R) Xeon® CPU E5-2680 v2 с частотой 2,80 ГГц
Итак, что дает? Я виртуализирован и не знаю этого? Есть ли какое-то другое место, где я должен искать, чтобы определить, почему SQL Server не может использовать некоторые из процессоров?
Справочные статьи
Список статей, которые я читал, но явно не понимал достаточно хорошо, чтобы ответить на мой собственный вопрос