Я зайшов у систему нових клієнтів і побіг sp_blitz, щоб побачити, що трясеться. Він повідомляє, що " Планувальник процесорів в автономному режимі ", який для мене новий.
Деякі ядра процесора не доступні для SQL Server через маскування афінності чи ліцензування.
Досить справедливо, я запускаю базовий запит
SELECT
DOS.is_online
, DOS.status
, DOS.*
FROM
sys.dm_os_schedulers AS DOS
ORDER BY
1;
Це повідомляє про те, що у мене 8 встановлених на ВІДМОВНУ ОФЛАЙН, 43 на Інтернет. Наскільки мені відомо, ніхто у цього клієнта навмисно не встановлював би спорідненість до процесора.
Я вирішив подивитися, чи зможу це відключити. Переглядаючи вікно властивостей, я бачу 40 доступних процесорів, і жоден з них не має спорідненості.
Чому в dm_os_schedulers є 40, де показано ще 43 записи, де is_online вірно, також здається цікавим. 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 (R) E5-2680 v2 при 2,80 ГГц
Отже, що дає? Я віртуалізований і не знаю цього? Чи є ще якесь місце, на яке я повинен шукати, щоб визначити, чому SQL Server не може використовувати деякі процесори?
Довідкові статті
Список статей, які я прочитав, але явно не зрозумів досить добре, щоб відповісти на моє власне питання