[KB8406] Legg til tillatelser for å hente databasedataplasseringer for å generere automatiske ekskluderinger for Microsoft SQL Server i ESET Windows-serverprodukter

MERK:

Denne siden er oversatt av en datamaskin. Klikk på engelsk under Språk på denne siden for å se originalteksten. Hvis noe er uklart, kan du kontakte din lokale kundestøtte.

Problem

Løsning

Det oppstår en feil når du henter den egendefinerte plasseringen av databasedata

Automatiske ekskluderinger for Microsoft SQL Server består hovedsakelig av standardplasseringer for databasefiler. De består imidlertid også av baner der databasefiler er lagret på egendefinerte plasseringer. I dette tilfellet må NT AUTHORITY\SYSTEM-kontoen ha de riktige rettighetene for å kunne hente ut denne informasjonen fra hoveddatabasen.

I Microsoft SQL Server 2016 og senere har Microsoft fjernet sysadmin-serverrollen for NT AUTHORITY\SYSTEM-kontoen, noe som fører til at ESET Windows-serverprodukter mister tilgangen til dataene i hoveddatabasen, som inneholder plasseringene til databasedataene i Microsoft SQL Server-forekomsten.

ESET Windows-serverprodukter informerer om dette problemet via feilmeldingen. Klikk på Loggfiler, velg Hendelser fra rullegardinmenyen, og se feilmeldingen:

"Det oppstod en feil under innlasting av databasefiler fra Microsoft SQL Server-databasene. Kontroller om kontoen 'NT AUTHORITY\SYSTEM' har tilstrekkelige tillatelser til å lese data fra systemvisningene i hoveddatabasene."

Figur 1-1
Klikk på bildet for å vise det i større format i nytt vindu
Hvis du ikke kan gjøre endringer av sikkerhetsgrunner
  • Hvis du ikke kan gjøre noen endringer, vil de automatiske ekskluderingene kun bestå av standardplasseringer.
  • Hvis du har noen databasefiler som ligger på en eller flere bestemte steder (ikke i standardbanen), må du legge til denne banen eller disse banene manuelt eller i ekskluderingene.
  • Hvis alle databasefilene bare ligger på standardplasseringene, kan du ignorere denne feilen.


Aktivere ESET-tjenesten for å hente den egendefinerte plasseringen av databasedata

Forå aktivere tjenesten vår til å hente den egendefinerte plasseringen av databasedata, følger du en av de tre prosedyrene nedenfor ved hjelp av Microsoft SQL Server Management Studio:

  1. Gi NT AUTHORITY\SYSTEM-kontoen tillatelsen "View any definition" (anbefalt)
  2. Gi serverrollen "sysadmin" til NT AUTHORITY\SYSTEM-kontoen
  3. Tildel databaserollen "db_owner" til "master"-databasen i NT AUTHORITY\SYSTEM-kontoen
A. Gi NT AUTHORITY\SYSTEM-kontoen rettighetene "View any definition" (anbefalt)
Anbefalt prosedyre

Denne prosedyren gir bare leserettigheter, slik at det har minimal innvirkning på sikkerheten i systemet.

  1. Naviger til Microsoft SQL Server Management Studio og koble til den valgte Microsoft SQL Server-forekomsten.

  2. Klikk på Securables. I kolonnen Grant merker du av i avmerkingsboksen ved siden av View any definition. Klikk på OK.

    Figur 2-1
B. Gi serverrollen "sysadmin" til NT AUTHORITY\SYSTEM-kontoen
  1. Naviger til Microsoft SQL Server Management Studio og koble til den valgte Microsoft SQL Server-forekomsten.

  2. Klikk på Serverroller, merk av i avmerkingsboksen ved siden av sysadmin, og klikk på OK.

    Figur 2-2
C. Tilordne databaserollen "db_owner" til "master"-databasen i NT AUTHORITY\SYSTEM-kontoen
  1. Naviger til Microsoft SQL Server Management Studio og koble til den valgte Microsoft SQL Server-forekomsten.

  2. Klikk på User Mapping. I delen Users mapped to this login merker du av i avmerkingsboksen ved siden av master. I Databaserollemedlemskap for velger du avmerkingsboksen ved siden av db_owner. Klikk på OK.

    Figur 2-3
Prosedyrer som skal utføres for hver Microsoft SQL Server-forekomst

Den valgte prosedyren må utføres for hver Microsoft SQL Server-forekomst som er installert på serveren.

Hent listen over Microsoft SQL Server-forekomster som er installert på serveren.

Hvis du bruker flere Microsoft SQL Server-forekomster på en enkelt server, kobler du til en bestemt forekomst av Microsoft SQL Server.


Flere MS SQL Server-forekomster på én enkelt server

Du kan koble til en bestemt forekomst av Microsoft SQL Server ved hjelp av tilkoblingsdialogboksen som vises når du starter Microsoft SQL Server Management Studio:

  1. Naviger til Microsoft SQL Server Management Studio, og koble til den valgte serveren.

  2. Skriv inn forekomsten i feltet Servernavn i formatet nedenfor, og klikk på Koble til.

    <servernavn>\<instansnavn>

    Figur 3-1
Microsoft SQL Server Express

Noen komplekse miljøer eller tjenesteinstallasjoner tilbyr en gratis utgave av Microsoft SQL Server som kalles Microsoft SQL Server Express.

Denne SQL-serverutgaven er tilgjengelig gratis. Den har begrenset størrelse og ytelse og er mer egnet for små bedrifter.

Hvis du for eksempel ikke tilbyr din egen Microsoft SQL-server under installasjonen av ESET PROTECT On-Prem, installeres Microsoft SQL Server Express som standard.

Angi tillatelser for hver forekomst med Microsoft SQL Server Express

Hvis du fortsatt får feilmeldingen, må du kontrollere at du ikke har en forekomst av Microsoft SQL Server Express installert. Hvis det finnes en forekomst av Microsoft SQL Server Express, oppdaterer du tillatelsene som er beskrevet i første avsnitt.

Få en liste over Microsoft SQL Server-forekomster

Det finnes flere måter å hente listen over Microsoft SQL Server-forekomster som er installert på serveren på:

  • Når du installerer en ny forekomst av Microsoft SQL Server, vil installasjonsveiviseren vise en liste over installerte forekomster i trinnet der du skriver inn navnet på den nye forekomsten.

  • Listen over installerte forekomster ligger i følgende Windows-registerbane:

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

    Du henter listen ved å bruke følgende PowerShell-kommando:

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

    SQL Server (<instansnavn>)

    Du kan filtrere disse tjenestene i systemet for å få en liste over installerte Microsoft Server SQL-forekomster ved hjelp av følgende PowerShell-kommando:

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