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