Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Симптомы
Если в SQL Server включен параметр конфигурации соответствия общим критериям, вы можете заметить снижение производительности SQL Server.
Соответствие общим критериям
После включения варианта соответствия общим критериям в SQL Server может возникнуть блокировка ожидания и общие затраты на аудит соответствия критериям, если несколько одновременных аутентификаций используют одно и то же имя входа.
После включения этого параметра может возникнуть замедление снижения производительности. Кроме того, в статистике производительности может отображаться большое LCK_M_SCH_M число ожиданий.
LCK_M_SCH_M — это блокировка изменения схемы, которая предотвращает доступ к таблице во время операции языка определения данных (DDL). Вы также найдете заблокированные записи процесса, в которых LOGIN_STATS таблица в базе данных master ожидает долгое время. Эта таблица используется для хранения статистики входа. При наличии большого количества имен входа и выхода в эту таблицу может возникнуть спор.
Чтобы понять, почему LCK_M_SCH_M происходит событие ожидания, выполните следующие команды:
CREATE EVENT SESSION [CreateDumpOnLCKMSCHM] ON SERVER
ADD EVENT sqlos.wait_info(
ACTION(package0.callstack,sqlserver.create_dump_all_threads)
WHERE (([opcode]=('Begin')) AND ([wait_type]=('LCK_M_SCH_M'))))
ADD TARGET package0.event_file(SET filename=N'CreateDumpOnLCKMSCHM',max_file_size=(128))
GO
ALTER EVENT SESSION [TestCreateDump] ON SERVER
STATE = START
GO
WHILE ((SELECT COUNT(1) FROM sys.dm_server_memory_dumps) < 5)
BEGIN
WAITFOR DELAY '00:00:00.100'
END
ALTER EVENT SESSION [CreateDumpOnLCKMSCHM] ON SERVER
STATE = STOP
Если включить соответствие общим критериям, также включена мера безопасности с именем RIP. Критерий RIP требует, чтобы выделяемая память была перезаписана известным битовым шаблоном, прежде чем она будет перераспределена для другого ресурса. Таким образом, при наличии большого количества имен входа и выхода производительность в памяти ухудшается, так как необходимо выполнить перезапись выделения памяти.
Обходное решение
Если соблюдение общих критериев не является строгим требованием, попробуйте отключить его, чтобы сократить затраты на аудит и повысить производительность. Чтобы отключить этот параметр, выполните следующие команды:
sp_configure 'common criteria compliance enabled', 0
GO
RECONFIGURE
GO
После изменения конфигурации перезапустите службы SQL Server, чтобы изменения вступили в силу.
Дополнительная информация
Конфигурация сервера с поддержкой соответствия общим критериям