Dotyczy
SQL Server 2016 SQL Server 2019 on Windows (all editions) SQL Server 2022 on Windows (all editions)

Symptomy

Załóżmy, że skonfigurowano wiele zdarzeń inspekcji programu SQL Server w celu zapisu w dzienniku zabezpieczeń w programie Microsoft SQL Server 2022, Microsoft SQL Server 2019 lub Microsoft SQL Server 2016 z dodatkiem Service Pack 2 (SP2). W tym scenariuszu można zauważyć, że wszystkie inspekcje serwera z wyjątkiem pierwszej inspekcji serwera nie zapisują. Ponadto podczas dodawania drugiej inspekcji serwera może zostać wyświetlony komunikat o błędzie podobny do następującego komunikatu w dzienniku błędów programu SQL Server:

Błąd: 33204, Ważność: 17, Stan: 1.

Inspekcja programu SQL Server nie może zapisać w dzienniku zabezpieczeń.

Przyczyna

Ten problem występuje, jeśli flaga źródła zdarzeń rejestru ma ustawioną wartość 0.

Obejście

Aby obejść ten problem, użyj jednej z następujących metod:

  • Ustaw, aby zdarzenia inspekcji serwera były zapisywane w pliku, a nie w dzienniku zabezpieczeń programu SQL Server.

  • Aby umożliwić zapisywanie wielu zdarzeń inspekcji serwera w dzienniku zabezpieczeń programu SQL Server, zmień wartość następującego podklucza rejestru z 0 na 1:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\MSSQL$<InstanceName>$Audit\EventSourceFlags

Uwaga: Aby nowe ustawienie rejestru zostało zastosowane, należy ponownie uruchomić inspekcje serwera.

ALTER SERVER AUDIT [AuditName] WITH (STATE = OFF) GO ALTER SERVER AUDIT [AuditName] WITH (STATE = ON) GO

Ważne: Nieprawidłowe edytowanie rejestru może spowodować poważne uszkodzenie systemu. Przed wprowadzeniem zmian w rejestrze zalecamy utworzenie kopii zapasowej wszystkich wartościowych danych na komputerze.

Rozwiązanie

Ten problem został rozwiązany w następujących aktualizacjach zbiorczych dla programu SQL Server:

Uwaga: Nawet po zainstalowaniu aktualizacji zbiorczej 6 (CU6) programu SQL Server 2022 lub nowszej dla istniejących wystąpień nadal jest wymagane obejście, ponieważ poprawka nie zmienia istniejącej wartości rejestru. W przypadku nowych wystąpień po zastosowaniu poprawki zostanie użyta poprawna wartość rejestru.

Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki i poprawki zabezpieczeń, które zostały wprowadzone w poprzedniej kompilacji. Zalecamy zainstalowanie najnowszej kompilacji dla twojej wersji programu SQL Server:

Informacje o dodatku Service Pack dla programu SQL Server 2016

Ten problem został rozwiązany w następującym dodatku Service Pack dla programu SQL Server:

Service Pack 2 dla programu SQL Server 2016

Dodatki Service Pack są kumulatywne. Każdy nowy dodatek Service Pack zawiera wszystkie poprawki zawarte w poprzednich dodatkach Service Pack oraz nowe poprawki. Zalecamy zastosowanie najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej dla tego dodatku Service Pack. Instalowanie poprzedniego dodatku Service Pack przed instalacją najnowszego dodatku Service Pack nie jest konieczne. Skorzystaj z tabeli 1 w poniższym artykule, aby uzyskać więcej informacji na temat najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej.

Jak ustalić poziom wersji, wersji i aktualizacji programu SQL Server i jego składników

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Informacje

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.