Словил ошибку на сервере Microsoft SQL Server:
The affinity mask specified does not match the CPU mask on this system.
В моём случае ошибка выскочила в GUI при попытке настроить Database Mail. Ошибку можно поймать и при выполнении SQL запроса, например:
EXEC sys.sp_configure N'show advanced options', N'1' RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N'affinity mask', N'0'
GO
EXEC sys.sp_configure N'affinity I/O mask', N'0'
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N'show advanced options', N'0' RECONFIGURE WITH OVERRIDE
GO
-----------------------------------------
Configuration option 'show advanced options' changed from 0 to 1. Run the RECONFIGURE statement to install.
Msg 5832, Level 16, State 1, Line 1
The affinity mask specified does not match the CPU mask on this system.
Msg 15123, Level 16, State 1, Procedure sp_configure, Line 51
The configuration option 'affinity mask' does not exist, or it may be an advanced option.
Msg 15123, Level 16, State 1, Procedure sp_configure, Line 51
The configuration option 'affinity I/O mask' does not exist, or it may be an advanced option.
Msg 5832, Level 16, State 1, Line 1
The affinity mask specified does not match the CPU mask on this system.
Configuration option 'show advanced options' changed from 1 to 0. Run the RECONFIGURE statement to install.
Msg 5832, Level 16, State 1, Line 1
The affinity mask specified does not match the CPU mask on this system.
Такое бывает, когда в настройках MSSQL были включены опции для управления affinity mask процессоров, а потом системный администратор изменил конфигурацию процессоров сервера, например, включил или выключил гипертрейдинг или изменил количество ядер процессора.
После таких изменений MSSQL сервер стартует, конечно, но при попытке затронуть конфигурацию процессоров мы получаем такую ошибку.
Решение простое, в свойствах сервера переходим к настройкам процессоров и устанавливаем галки на опциях:
- Automatically set processor affinity mask for all processors
- Automatically set I/O affinity mask for all processors
OK.
После этого MSSQL сервер начинает вести себя хорошо, он определяет текущие настройки процессоров. Можно теперь установить те настройки, которые нужны.
В моём случае перезагрузка сервера не потребовалась.