Проблемы
Предположим, что вы настроили несколько событий аудита SQL Server для записи в журнал безопасности в Microsoft SQL Server 2022, Microsoft SQL Server 2019 или Microsoft SQL Server 2016 с пакетом обновления 2 (SP2). В этом сценарии вы заметите, что все аудиты сервера, кроме первого аудита сервера, не записываются. Кроме того, при добавлении второго аудита сервера в журнале ошибок SQL Server может появиться сообщение об ошибке, похожее на следующее:
Ошибка: 33204, серьезность: 17, состояние: 1.
Аудиту SQL Server не удалось записать данные в журнал безопасности.
Причина
Эта проблема возникает, если для флага источника события реестра задано значение 0.
Обходное решение
Чтобы обойти эту проблему, используйте один из следующих методов:
-
Задайте для события аудита сервера запись в файл, а не в журнал безопасности SQL Server.
-
Чтобы включить запись нескольких событий аудита сервера в журнал безопасности SQL Server, измените значение следующего подраздела реестра с 0 на 1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\MSSQL$<InstanceName>$Audit\EventSourceFlags
Примечание. Чтобы новый параметр реестра вступил в силу, необходимо перезапустить аудит сервера.
ALTER SERVER AUDIT [AuditName] WITH (STATE = OFF)
GO
ALTER SERVER AUDIT [AuditName] WITH (STATE = ON)
GO
Важно: Неправильное изменение реестра может серьезно повредить систему. Перед внесением изменений в реестр рекомендуется создать резервную копию всех важных данных на компьютере.
Решение
Эта проблема устранена в следующих накопительных обновлениях для SQL Server:
Примечание. Даже после установки sql Server 2022 с накопительным пакетом обновления 6 (CU6) или более поздних версий для существующих экземпляров по-прежнему требуется обходное решение, так как исправление не изменяет существующее значение реестра. Для новых экземпляров после применения исправления будет использоваться правильное значение реестра.
Каждое новое накопительное обновление для SQL Server содержит все исправления и исправления безопасности, которые были в предыдущей сборке. Рекомендуется установить последнюю сборку для своей версии SQL Server:
Сведения о пакете обновления для SQL Server 2016
Эта проблема устранена в следующем пакете обновления для SQL Server:
Пакеты обновления являются накопительными. Каждый новый пакет обновления содержит все исправления, которые были в предыдущих пакетах обновления, а также все новые исправления. Мы рекомендуем применить последний пакет обновления и последнее накопительное обновление для этого пакета обновления. Вам не нужно устанавливать предыдущий пакет обновления перед установкой последнего пакета обновления. Дополнительные сведения о последнем пакете обновления и последнем накопительном обновлении см. в таблице 1 в следующей статье.
Определение версии, выпуска и уровня обновления SQL Server и его компонентов
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Сведения о терминологии , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.