[KB8406] Tilføj tilladelser til at hente databasedataplaceringer for at generere automatiske udelukkelser for Microsoft SQL Server i ESET Windows-serverprodukter

BEMÆRK:

Denne side er blevet oversat af en computer. Klik på engelsk under Sprog på denne side for at få vist den originale tekst. Hvis du finder noget uklart, bedes du kontakte din lokale support.

Problem

Løsning

Der opstår en fejl, når den brugerdefinerede placering af databasedata hentes

Automatiske udelukkelser for Microsoft SQL Server består hovedsageligt af standardplaceringer af databasefiler. Men de består også af stier, hvor databasefiler er gemt på brugerdefinerede placeringer. I dette tilfælde skal NT AUTHORITY\SYSTEM-kontoen have passende rettigheder til at udtrække disse oplysninger fra master-databasen.

I Microsoft SQL Server 2016 og senere fjernede Microsoft sysadmin-serverrollen for NT AUTHORITY\SYSTEM-kontoen, hvilket fik ESET Windows-serverprodukter til at miste adgangen til dataene i masterdatabasen, som indeholder placeringen af databasedataene i Microsoft SQL Server-instansen.

ESET Windows-serverprodukter informerer om dette problem via fejlmeddelelsen. Klik på Logfiler, vælg Hændelser i rullemenuen, og se fejlmeddelelsen:

"Der opstod en fejl under indlæsning af databasefiler fra Microsoft SQL Server-databaserne. Kontrollér, om kontoen 'NT AUTHORITY\SYSTEM' har tilstrækkelige tilladelser til at læse data fra master-databasernes systemvisninger."

Figur 1-1
Klik på billedet for at se det større i et nyt vindue
Hvis du ikke kan foretage ændringer af sikkerhedsmæssige årsager
  • Hvis du ikke kan foretage nogen ændringer, vil de automatiske udelukkelser kun bestå af standardplaceringer.
  • Hvis du har nogle databasefiler placeret på en bestemt placering eller bestemte placeringer (ikke i standardstien), skal du tilføje denne sti eller disse stier manuelt eller til udelukkelserne.
  • Hvis alle databasefiler kun er placeret på standardplaceringerne, skal du ignorere denne fejl.


Aktivér ESET-tjenesten til at hente den brugerdefinerede placering af databasedata

Følg en af de tre nedenstående procedurer i Microsoft SQL Server Management Studio for at gøre det muligt for vorestjeneste at hente den brugerdefinerede placering af databasedata:

  1. Giv NT AUTHORITY\SYSTEM-kontoen tilladelsen "View any definition" (anbefales)
  2. Giv serverrollen 'sysadmin' til NT AUTHORITY\SYSTEM-kontoen
  3. Tildel database-rollen 'db_owner' til 'master'-databasen i NT AUTHORITY\SYSTEM-kontoen
A. Giv tilladelsen 'View any definition' til NT AUTHORITY\SYSTEM-kontoen (anbefales)
Anbefalet procedure

Denne procedure giver kun læserettigheder, så der er en minimal sikkerhedspåvirkning på systemet.

  1. Naviger til Microsoft SQL Server Management Studio, og opret forbindelse til den valgte Microsoft SQL Server-forekomst.

  2. Klik på Securables. I kolonnen Grant skal du markere afkrydsningsfeltet ved siden af View any definition. Klik på OK.

    Figur 2-1
B. Tildel serverrollen 'sysadmin' til NT AUTHORITY\SYSTEM-kontoen
  1. Naviger til Microsoft SQL Server Management Studio, og opret forbindelse til den valgte Microsoft SQL Server-forekomst.

  2. Klik på Server Roles, marker afkrydsningsfeltet ud for sysadmin, og klik på OK.

    Figur 2-2
C. Tildel database-rollen 'db_owner' til 'master'-databasen i NT AUTHORITY\SYSTEM-kontoen
  1. Naviger til Microsoft SQL Server Management Studio, og opret forbindelse til den valgte Microsoft SQL Server-forekomst.

  2. Klik på Brugertilknytning. I afsnittet Users mapped to this login skal du markere afkrydsningsfeltet ved siden af master. I afsnittet Database role membership for skal du markere afkrydsningsfeltet ud for db_owner. Klik på OK.

    Figur 2-3
Procedurer, der skal udføres for hver Microsoft SQL Server-forekomst

Den valgte procedure skal udføres for hver Microsoft SQL Server-forekomst, der er installeret på serveren.

Hent listen over Microsoft SQL Server-forekomster, der er installeret på din server.

Hvis du bruger flere Microsoft SQL Server-forekomster på en enkelt server, skal du oprette forbindelse til en bestemt forekomst af Microsoft SQL Server.


Flere MS SQL Server-forekomster på en enkelt server

Du kan oprette forbindelse til en bestemt forekomst af Microsoft SQL Server ved hjælp af den forbindelsesdialog, der vises, når du starter Microsoft SQL Server Management Studio:

  1. Naviger til Microsoft SQL Server Management Studio, og opret forbindelse til den valgte server.

  2. Indtast forekomsten i feltet Servernavn i nedenstående format, og klik på Opret forbindelse.

    <server_navn>\<instans_navn>

    Figur 3-1
Microsoft SQL Server Express

Nogle komplekse miljøer eller serviceinstallationer tilbyder en gratis udgave af Microsoft SQL Server kaldet Microsoft SQL Server Express.

Denne SQL-serverudgave er gratis. Den er begrænset i størrelse og ydeevne og er mere velegnet til små virksomheder.

Hvis du f.eks. ikke leverer din egen Microsoft SQL-server under installationen af ESET PROTECT On-Prem, installeres Microsoft SQL Server Express som standard.

Indstil tilladelser på hver instans med Microsoft SQL Server Express

Hvis du stadig får fejlmeddelelsen, skal du kontrollere, at du ikke har en forekomst af Microsoft SQL Server Express installeret. Hvis der er en forekomst af Microsoft SQL Server Express, skal du opdatere de tilladelser, der er beskrevet i det første afsnit.

Hent listen over Microsoft SQL Server-forekomster

Der er flere måder at få en liste over de Microsoft SQL Server-forekomster, der er installeret på serveren:

  • Når du installerer en ny forekomst af Microsoft SQL Server, vil installationsguiden i det trin, hvor du skriver navnet på den nye forekomst, vise en liste over aktuelt installerede forekomster.

  • Listen over installerede forekomster findes i følgende sti i Windows-registreringsdatabasen:

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

    Brug følgende PowerShell-kommando til at hente listen:

    Get-Item "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" | % {$_.Property}
  • Hver Microsoft SQL Server-forekomst installerer den tilsvarende tjeneste i systemet. Navnet på denne tjeneste har følgende format:

    SQL Server (<instansnavn>)

    Du kan filtrere disse tjenester i systemet for at få en liste over installerede Microsoft Server SQL-forekomster ved hjælp af følgende PowerShell-kommando:

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