[KB8406] Hinzufügen von Berechtigungen zum Abrufen von Datenbankdaten, um automatische Ausschlüsse für Microsoft SQL Server in ESET Windows Server-Produkten zu generieren

HINWEIS:

Diese Seite wurde von einem Computer übersetzt. Klicken Sie auf Englisch unter Sprachen auf dieser Seite, um den Originaltext anzuzeigen. Sollten Sie etwas unklar finden, wenden Sie sich bitte an Ihren lokalen Support.

Problem

Lösung

Beim Abrufen des benutzerdefinierten Speicherorts von Datenbankdaten tritt ein Fehler auf

Automatische Ausschlüsse für Microsoft SQL Server bestehen hauptsächlich aus Standardspeicherorten von Datenbankdateien. Es gibt jedoch auch Pfade, in denen Datenbankdateien an benutzerdefinierten Speicherorten gespeichert sind. In diesem Fall muss das NT AUTHORITY\SYSTEM-Konto über entsprechende Rechte verfügen, um diese Informationen aus der Master-Datenbank zu extrahieren.

In Microsoft SQL Server 2016 und später hat Microsoft die Sysadmin-Serverrolle für das NT AUTHORITY\SYSTEM-Konto entfernt, wodurch ESET Windows Serverprodukte den Zugriff auf die Daten in der Master-Datenbank verlieren, die die Speicherorte der Datenbankdaten der Microsoft SQL Server-Instanz enthält.

ESET Windows Server-Produkte informieren über dieses Problem durch eine Fehlermeldung. Klicken Sie auf Protokolldateien, wählen Sie Ereignisse aus dem Dropdown-Menü, und sehen Sie sich die Fehlermeldung an:

"Beim Laden von Datenbankdateien aus den Microsoft SQL Server-Datenbanken ist ein Fehler aufgetreten. Überprüfen Sie, ob das Konto 'NT AUTHORITY\SYSTEM' über ausreichende Berechtigungen zum Lesen von Daten aus den Systemansichten der Master-Datenbanken verfügt."

Abbildung 1-1
Klicken Sie auf das Bild, um es in einem neuen Fenster zu vergrößern
Wenn Sie aus Sicherheitsgründen keine Änderungen vornehmen können
  • Wenn Sie keine Änderungen vornehmen können, bestehen die automatischen Ausschlüsse nur aus Standardspeicherorten.
  • Wenn sich einige Datenbankdateien an einem bestimmten Ort oder an bestimmten Orten befinden (nicht im Standardpfad), fügen Sie diesen Pfad oder diese Pfade manuell zu den Ausnahmen hinzu.
  • Wenn sich alle Datenbankdateien nur an den Standardspeicherorten befinden, ignorieren Sie diesen Fehler.


Aktivieren des ESET-Dienstes zum Abrufen des benutzerdefinierten Speicherorts der Datenbankdaten

Um unseren Dienst zu aktivieren, damit er den benutzerdefinierten Speicherort der Datenbankdaten abrufen kann, führen Sie eine der drei folgenden Prozeduren mit Microsoft SQL Server Management Studio aus:

  1. Erteilen Sie dem NT-Konto AUTHORITY\SYSTEM die Berechtigung "View any definition" (empfohlen)
  2. Gewähren Sie dem NT-AUTHORITY\SYSTEM-Konto die Serverrolle "sysadmin"
  3. Weisen Sie die Datenbankrolle "db_owner" der Datenbank "master" im NT AUTHORITY\SYSTEM-Konto zu
A. Erteilen Sie dem NT-AUTHORITY\SYSTEM-Konto die Berechtigung "View any definition" (empfohlen)
Empfohlenes Verfahren

Dieses Verfahren gewährt nur Leserechte, so dass es nur minimale Auswirkungen auf die Sicherheit des Systems hat.

  1. Navigieren Sie zu Microsoft SQL Server Management Studio und verbinden Sie sich mit der ausgewählten Microsoft SQL Server-Instanz.

  2. Klicken Sie auf Securables. Aktivieren Sie in der Spalte Berechtigung das Kontrollkästchen neben Jede Definition anzeigen. Klicken Sie auf OK.

    Abbildung 2-1
B. Gewähren Sie dem NT AUTHORITY\SYSTEM-Konto die Serverrolle "sysadmin"
  1. Navigieren Sie zu Microsoft SQL Server Management Studio und verbinden Sie sich mit der gewählten Microsoft SQL Server-Instanz.

  2. Klicken Sie auf Server-Rollen, aktivieren Sie das Kontrollkästchen neben sysadmin und klicken Sie auf OK.

    Abbildung 2-2
C. Weisen Sie die Datenbankrolle "db_owner" der Datenbank "master" im NT AUTHORITY\SYSTEM-Konto zu
  1. Navigieren Sie zu Microsoft SQL Server Management Studio und verbinden Sie sich mit der gewählten Microsoft SQL Server-Instanz.

  2. Klicken Sie auf Benutzerzuordnung. Aktivieren Sie im Abschnitt Users mapped to this login das Kontrollkästchen neben master. Aktivieren Sie im Abschnitt Database role membership for das Kontrollkästchen neben db_owner. Klicken Sie auf OK.

    Abbildung 2-3
Auszuführende Prozeduren für jede Microsoft SQL Server-Instanz

Das gewählte Verfahren muss für jede auf dem Server installierte Microsoft SQL Server-Instanz durchgeführt werden.

Rufen Sie die Liste der auf Ihrem Server installiertenMicrosoft SQL Server-Instanzen ab.

Wenn Sie mehrere Microsoft SQL Server-Instanzen auf einem einzigen Server verwenden, stellen Sie eine Verbindung zu einer bestimmten Instanz von Microsoft SQL Server her.


Mehrere MS SQL Server-Instanzen auf einem einzigen Server

Sie können eine Verbindung zu einer bestimmten Instanz von Microsoft SQL Server herstellen, indem Sie den Verbindungsdialog verwenden, der beim Start von Microsoft SQL Server Management Studio angezeigt wird:

  1. Navigieren Sie zu Microsoft SQL Server Management Studio und verbinden Sie sich mit dem gewünschten Server.

  2. Geben Sie die Instanz in das Feld Servername im untenstehenden Format ein und klicken Sie auf Verbinden.

    <Servername><Instanzname>

    Abbildung 3-1
Microsoft SQL Server Express

Einige komplexe Umgebungen oder Dienstinstallationen bieten eine kostenlose Ausgabe von Microsoft SQL Server mit der Bezeichnung Microsoft SQL Server Express.

Diese SQL-Server-Edition ist kostenlos erhältlich. Sie ist in Größe und Leistung begrenzt und eignet sich eher für kleine Unternehmen.

Wenn Sie beispielsweise bei der Installation von ESET PROTECT On-Prem keinen eigenen Microsoft SQL Server bereitstellen, wird standardmäßig Microsoft SQL Server Express installiert.

Setzen Sie die Berechtigungen auf jeder Instanz mit Microsoft SQL Server Express

Wenn Sie die Fehlermeldung immer noch erhalten, überprüfen Sie, ob Sie eine Instanz von Microsoft SQL Server Express installiert haben. Wenn es eine Instanz von Microsoft SQL Server Express gibt, aktualisieren Sie die im ersten Abschnitt beschriebenen Berechtigungen.

Abrufen der Liste der Microsoft SQL Server-Instanzen

Es gibt mehrere Möglichkeiten, die Liste der auf dem Server installierten Microsoft SQL Server-Instanzen abzurufen:

  • Wenn Sie eine neue Instanz von Microsoft SQL Server installieren, zeigt der Installationsassistent in dem Schritt, in dem Sie den Namen der neuen Instanz eingeben, eine Liste der derzeit installierten Instanzen an.

  • Die Liste der installierten Instanzen befindet sich im folgenden Windows-Registrierungspfad:

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

    Um die Liste abzurufen, verwenden Sie den folgenden PowerShell-Befehl:

    Get-Item "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instanznamen\SQL" | % {$_.Property}
  • Jede Microsoft SQL Server-Instanz installiert den entsprechenden Dienst im System. Der Name dieses Dienstes hat das folgende Format:

    SQL Server (<Instanzname>)

    Sie können diese Dienste im System filtern, um eine Liste der installierten Microsoft Server-SQL-Instanzen mit dem folgenden PowerShell-Befehl zu erhalten:

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