[KB8406] Dodawanie uprawnień do pobierania lokalizacji danych bazy danych w celu generowania automatycznych wykluczeń dla Microsoft SQL Server w produktach serwerowych ESET Windows

NOTATKA:

Ta strona została przetłumaczona przez komputer. Kliknij przycisk Angielski w sekcji Języki na tej stronie, aby wyświetlić oryginalny tekst. Jeśli coś jest niejasne, skontaktuj się z lokalnym działem pomocy technicznej.

Problem

Rozwiązanie

Pojawia się błąd podczas pobierania niestandardowej lokalizacji danych bazy danych

Automatyczne wykluczenia dla Microsoft SQL Server składają się głównie z domyślnych lokalizacji plików bazy danych. Jednak składa się również ze ścieżek, w których pliki bazy danych są przechowywane w niestandardowych lokalizacjach. W takim przypadku konto NT AUTHORITY\SYSTEM musi mieć odpowiednie uprawnienia, aby wyodrębnić te informacje z głównej bazy danych.

W Microsoft SQL Server 2016 i nowszych Microsoft usunął rolę serwera sysadmin dla konta NT AUTHORITY\SYSTEM, powodując, że produkty serwerowe ESET Windows tracą dostęp do danych w głównej bazie danych, która zawiera lokalizacje danych bazy danych instancji Microsoft SQL Server.

Produkty serwerowe ESET Windows informują o tym problemie za pomocą komunikatu o błędzie. Kliknij Pliki dziennika, wybierz Zdarzenia z menu rozwijanego i wyświetl komunikat o błędzie:

"Wystąpił błąd podczas ładowania plików bazy danych z baz danych Microsoft SQL Server. Sprawdź, czy konto "NT AUTHORITY\SYSTEM" ma wystarczające uprawnienia do odczytu danych z widoków systemowych głównych baz danych"

Rysunek 1-1
Kliknij obraz, aby powiększyć w nowym oknie
Jeśli nie można wprowadzić żadnych zmian ze względów bezpieczeństwa
  • Jeśli nie możesz wprowadzić żadnych zmian, automatyczne wykluczenia będą składać się tylko z domyślnych lokalizacji.
  • Jeśli niektóre pliki bazy danych znajdują się w określonej lokalizacji lub lokalizacjach (nie w domyślnej ścieżce), dodaj tę ścieżkę lub ścieżki ręcznie lub do wykluczeń.
  • Jeśli wszystkie pliki bazy danych znajdują się tylko w domyślnych lokalizacjach, zignoruj ten błąd.


Włącz usługę ESET, aby uzyskać niestandardową lokalizację danych bazy danych

Aby włączyć naszą usługę w celu uzyskania niestandardowej lokalizacji danych bazy danych, należy wykonać jedną z trzech poniższych procedur przy użyciu Microsoft SQL Server Management Studio:

  1. Nadanie uprawnień "Wyświetl dowolną definicję" kontu NT AUTHORITY\SYSTEM (zalecane)
  2. Przyznać rolę serwera "sysadmin" do konta NT AUTHORITY\SYSTEM
  3. Przypisać rolę bazy danych 'db_owner' do bazy danych 'master' na koncie NT AUTHORITY\SYSTEM
A. Przyznanie uprawnień "Wyświetl dowolną definicję" do konta NT AUTHORITY\SYSTEM (zalecane)
Zalecana procedura

Ta procedura przyznaje tylko prawa do odczytu, więc ma minimalny wpływ na bezpieczeństwo systemu.

  1. Przejdź do Microsoft SQL Server Management Studio i połącz się z wybraną instancją Microsoft SQL Server.

  2. Kliknij Securables. W kolumnie Grant zaznacz pole wyboru obok View any definition. Kliknij OK.

    Rysunek 2-1
B. Przyznanie roli serwera "sysadmin" do konta NT AUTHORITY\SYSTEM
  1. Przejdź do Microsoft SQL Server Management Studio i połącz się z wybraną instancją Microsoft SQL Server.

  2. Kliknij Role serwera, zaznacz pole wyboru obok sysadmin i kliknij OK.

    Rysunek 2-2
C. Przypisanie roli bazy danych "db_owner" do bazy danych "master" na koncie NT AUTHORITY\SYSTEM
  1. Przejdź do Microsoft SQL Server Management Studio i połącz się z wybraną instancją Microsoft SQL Server.

  2. Kliknij Mapowanie użytkowników. W sekcji Użytkownicy zmapowani do tego loginu zaznacz pole wyboru obok master. W sekcji Database role membership for zaznacz pole wyboru obok db_owner. Kliknij OK.

    Rysunek 2-3
Procedury do wykonania dla każdej instancji Microsoft SQL Server

Wybrana procedura musi zostać wykonana dla każdej instancji Microsoft SQL Server zainstalowanej na serwerze.

Pobierzlistę instancji Microsoft SQL Server zainstalowanych na serwerze.

Jeśli używasz wielu instancji Microsoft SQL Server na jednym serwerze, połącz się z określoną instancją Microsoft SQL Server.


Wiele instancji MS SQL Server na jednym serwerze

Można połączyć się z konkretną instancją Microsoft SQL Server za pomocą okna dialogowego połączenia wyświetlanego po uruchomieniu Microsoft SQL Server Management Studio:

  1. Przejdź do Microsoft SQL Server Management Studio i połącz się z wybranym serwerem.

  2. Wpisz instancję w polu Server name w poniższym formacie i kliknij Connect.

    <nazwa_serwera>\<nazwa_instancji>

    Rysunek 3-1
Microsoft SQL Server Express

Niektóre złożone środowiska lub instalacje usług oferują bezpłatną edycję Microsoft SQL Server o nazwie Microsoft SQL Server Express.

Ta edycja serwera SQL jest dostępna bezpłatnie. Ma ona ograniczony rozmiar i wydajność i jest bardziej odpowiednia dla małych firm.

Na przykład, jeśli podczas instalacji ESET PROTECT On-Prem nie zostanie udostępniony własny serwer Microsoft SQL, domyślnie zostanie zainstalowany Microsoft SQL Server Express.

Ustaw uprawnienia dla każdej instancji Microsoft SQL Server Express

Jeśli nadal otrzymujesz komunikat o błędzie, sprawdź, czy nie masz zainstalowanej instancji Microsoft SQL Server Express. Jeśli istnieje instancja Microsoft SQL Server Express, zaktualizuj uprawnienia opisane w pierwszej sekcji.

Uzyskanie listy instancji Microsoft SQL Server

Istnieje kilka sposobów na uzyskanie listy instancji Microsoft SQL Server zainstalowanych na serwerze:

  • Podczas instalacji nowej instancji Microsoft SQL Server, w kroku, w którym wpisujemy nazwę nowej instancji, Kreator instalacji wyświetli listę aktualnie zainstalowanych instancji.

  • Lista zainstalowanych instancji znajduje się w następującej ścieżce rejestru Windows:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names.

    Aby uzyskać listę, należy użyć następującego polecenia PowerShell:

    Get-Item "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" | % {$_.Property}
  • Każda instancja Microsoft SQL Server instaluje odpowiednią usługę w systemie. Nazwa tej usługi ma następujący format:

    SQL Server (<nazwa_instancji>)

    Możesz filtrować te usługi w systemie, aby uzyskać listę zainstalowanych instancji Microsoft Server SQL za pomocą następującego polecenia PowerShell:

    Get-Service | ?{ $_.DisplayName -like "SQL Server (*" }