KB4052136 – КОРЕКЦИЯ: SQL Server Събития за проверка не записват в регистрационния файл на защитата

Отнася се за
SQL Server 2016 SQL Server 2019 on Windows (all editions) SQL Server 2022 on Windows (all editions)

Симптоми

Да предположим, че сте конфигурирали няколко събития за проверка на 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 2016

Този проблем е решен в следния сервизен пакет за SQL Server:

Service Pack 2 за SQL Server 2016

За сервизните пакети за SQL Server:

Сервизните пакети са кумулативни. Всеки нов сервизен пакет съдържа всички корекции, които са в предишните сервизни пакети, заедно с всички нови корекции. Нашата препоръка е да се приложи най-новият сервизен пакет и най-новата кумулативна актуализация за този сервизен пакет. Не е необходимо да инсталирате предишен сервизен пакет, преди да инсталирате най-новия сервизен пакет. Използвайте таблица 1 в следващата статия, за да намерите повече информация относно най-новия сервизен пакет и най-новата кумулативна актуализация.

Как да определите версията, изданието и нивото на актуализация на SQL Server и неговите компоненти

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.

Справки

Научете повече относно терминологията, която Microsoft използва за описване на актуализациите на софтуера.