Симптоми
Да предположим, че сте конфигурирали няколко събития за проверка на SQL Server за записване в регистрационния файл на защитата в Microsoft SQL Server 2022, Microsoft SQL Server 2019 или Microsoft SQL Server 2016 Service Pack 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:
Забележка: Дори след инсталирането на сборна актуализация 6 (CU6) на SQL Server 2022 или по-нови версии за съществуващи екземпляри, все още е необходимо заобиколно решение, тъй като корекцията не променя съществуващата стойност на системния регистър. За нови екземпляри ще се използва правилната стойност в системния регистър след прилагане на корекцията.
За кумулативните актуализации за SQL Server
Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за вашата версия на SQL Server:
- Най-нова кумулативна актуализация за SQL Server 2022
- Последна кумулативна актуализация за SQL Server 2019
Информация за сервизни пакети за SQL Server 2016
Този проблем е решен в следния сервизен пакет за SQL Server:
Service Pack 2 за SQL Server 2016
За сервизните пакети за SQL Server:
Сервизните пакети са кумулативни. Всеки нов сервизен пакет съдържа всички корекции, които са в предишните сервизни пакети, заедно с всички нови корекции. Нашата препоръка е да се приложи най-новият сервизен пакет и най-новата кумулативна актуализация за този сервизен пакет. Не е необходимо да инсталирате предишен сервизен пакет, преди да инсталирате най-новия сервизен пакет. Използвайте таблица 1 в следващата статия, за да намерите повече информация относно най-новия сервизен пакет и най-новата кумулативна актуализация.
Как да определите версията, изданието и нивото на актуализация на SQL Server и неговите компоненти
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Справки
Научете повече относно терминологията, която Microsoft използва за описване на актуализациите на софтуера.