[KB8406] Machtigingen toevoegen om databasegegevenslocaties op te vragen om automatische uitsluitingen te genereren voor Microsoft SQL Server in ESET Windows serverproducten

OPMERKING:

Deze pagina is vertaald door een computer. Klik op English onder Languages op deze pagina om de originele tekst weer te geven. Als u iets onduidelijk vindt, neem dan contact op met uw lokale support.

Probleem

Oplossing

Er verschijnt een fout bij het ophalen van de aangepaste locatie van databasegegevens

Automatische uitsluitingen voor Microsoft SQL Server bestaan voornamelijk uit standaardlocaties van databasebestanden. Ze bestaan echter ook uit paden waar databasebestanden zijn opgeslagen op aangepaste locaties. In dit geval moet het NT AUTHORITY\SYSTEM-account de juiste rechten hebben om deze informatie uit de hoofddatabase te halen.

In Microsoft SQL Server 2016 en later heeft Microsoft de sysadmin serverrol voor het NT AUTHORITY\SYSTEM account verwijderd, waardoor ESET Windows serverproducten de toegang verliezen tot de gegevens in de master database, die de locaties van de databasegegevens van de Microsoft SQL Server instance bevat.

ESET Windows server-producten informeren over dit probleem via het foutbericht. Klik op Logbestanden, selecteer Gebeurtenissen in het vervolgkeuzemenu en bekijk de foutmelding:

"Er is een fout opgetreden tijdens het laden van databasebestanden van de Microsoft SQL Server-databases. Controleer of het account 'NT AUTHORITYSYSTEM' voldoende rechten heeft om gegevens uit de systeemweergaven van hoofddatabases te lezen."

Afbeelding 1-1
Klik op de afbeelding om deze groter te bekijken in een nieuw venster
Als je om veiligheidsredenen geen wijzigingen kunt aanbrengen
  • Als je geen wijzigingen kunt aanbrengen, bestaan de automatische uitsluitingen alleen uit standaardlocaties.
  • Als je sommige databasebestanden op een specifieke locatie of locaties hebt staan (niet in het standaardpad), voeg je dit pad of deze paden handmatig of aan de uitsluitingen toe.
  • Als alle databasebestanden zich alleen op de standaardlocaties bevinden, negeer deze fout dan.


ESET-service inschakelen om de aangepaste locatie van databasegegevens op te halen

Om onze service in te schakelen voor de aangepaste locatie van databasegegevens, volgt u een van de drie onderstaande procedures met Microsoft SQL Server Management Studio:

  1. Ken de rechten 'View any definition' toe aan de account NT AUTHORITY\SYSTEM (aanbevolen)
  2. Ken de serverrol 'sysadmin' toe aan het NT AUTORITYSYSTEM-account
  3. Wijs de databaserol 'db_owner' toe aan de 'master'-database in het NT AUTHORITYSYSTEM-account
A. De rechten 'Elke definitie bekijken' toekennen aan de account NT AUTHORITY\SYSTEM (aanbevolen)
Aanbevolen procedure

Deze procedure kent alleen leesrechten toe, dus de beveiligingsimpact op het systeem is minimaal.

  1. Navigeer naar Microsoft SQL Server Management Studio en maak verbinding met de gekozen Microsoft SQL Server-instantie.

  2. Klik op Securables (Beveiliging). Schakel het selectievakje naast View any definition in de kolom Grant in. Klik op OK.

    Afbeelding 2-1
B. De serverrol 'sysadmin' toekennen aan de NT AUTHORITYSYSTEM-account
  1. Navigeer naar Microsoft SQL Server Management Studio en maak verbinding met de gekozen Microsoft SQL Server-instantie.

  2. Klik op Serverrollen, schakel het selectievakje naast sysadmin in en klik op OK.

    Afbeelding 2-2
C. De databaserol 'db_owner' toewijzen aan de 'master'-database in het NT AUTHORITYSYSTEM-account
  1. Navigeer naar Microsoft SQL Server Management Studio en maak verbinding met de gekozen Microsoft SQL Server-instantie.

  2. Klik op User Mapping. Schakel in de sectie Users mapped to this login het selectievakje naast master in. Schakel in de sectie Database role membership for het selectievakje naast db_owner in. Klik op OK.

    Afbeelding 2-3
Procedures die voor elke Microsoft SQL Server-instantie moeten worden uitgevoerd

De gekozen procedure moet worden uitgevoerd voor elke Microsoft SQL Server-instantie die op de server is geïnstalleerd.

Vraag de lijst op met Microsoft SQL Server-instanties die op uw server zijn geïnstalleerd.

Als u meerdere Microsoft SQL Server-instanties op één server gebruikt, maakt u verbinding met een specifieke instantie van Microsoft SQL Server.


Meerdere MS SQL Server-instanties op één server

U kunt verbinding maken met een specifieke instantie van Microsoft SQL Server via het verbindingsdialoogvenster dat wordt weergegeven wanneer u Microsoft SQL Server Management Studio start:

  1. Navigeer naar Microsoft SQL Server Management Studio en maak verbinding met de gekozen server.

  2. Typ de instantie in het veld Servernaam in de onderstaande indeling en klik op Verbinden.

    <server_naam><instance_naam>

    Afbeelding 3-1
Microsoft SQL Server Express

Sommige complexe omgevingen of service-installaties bieden een gratis editie van Microsoft SQL Server, Microsoft SQL Server Express genaamd.

Deze SQL Server-editie is gratis beschikbaar. Deze is beperkt in omvang en prestaties en is meer geschikt voor kleine bedrijven.

Als u bijvoorbeeld geen eigen Microsoft SQL-server levert tijdens de installatie van ESET PROTECT On-Prem, wordt Microsoft SQL Server Express standaard geïnstalleerd.

Stel machtigingen in op elke instantie met Microsoft SQL Server Express

Als u nog steeds de foutmelding krijgt, controleer dan of er geen exemplaar van Microsoft SQL Server Express is geïnstalleerd. Als er een instantie van Microsoft SQL Server Express is, werkt u de machtigingen bij die in het eerste gedeelte zijn beschreven.

De lijst met Microsoft SQL Server-instanties ophalen

Er zijn verschillende manieren om de lijst met Microsoft SQL Server-instanties die op de server zijn geïnstalleerd, op te vragen:

  • Wanneer u een nieuwe instance van Microsoft SQL Server installeert, toont de installatiewizard in de stap waarin u de naam van de nieuwe instance typt, een lijst met momenteel geïnstalleerde instances.

  • De lijst met geïnstalleerde instanties bevindt zich in het volgende Windows-registerpad:

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

    Gebruik het volgende PowerShell-commando om de lijst op te vragen:

    Get-Item "HKLM:\SOFTWAREMicrosoftMicrosoft SQL ServerInstance Names" | % {$_.Property}
  • Elke Microsoft SQL Server-instantie installeert de bijbehorende service in het systeem. De naam van deze service heeft het volgende formaat:

    SQL Server (<instance_name>)

    U kunt deze services in het systeem filteren om een lijst met geïnstalleerde Microsoft Server SQL-instanties te krijgen met het volgende PowerShell-commando:

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