Problem
- Du får feilmeldingen "Det oppstod en feil under innlasting av databasefiler fra Microsoft SQL Server-databaser. Kontroller om kontoen 'NT AUTHORITY\SYSTEM' har tilstrekkelige tillatelser til å lese data fra systemvisninger av hoveddatabaser" i ESET Windows-serverproduktet
- En feil vises når du henter den egendefinerte plasseringen av databasedata
- Aktiver ESET-tjenesten for å hente den egendefinerte plasseringen av databasedata
- Flere Microsoft SQL Server-forekomster på én enkelt server
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."
Klikk på bildet for å vise det i større format i nytt vindu
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:
- Gi NT AUTHORITY\SYSTEM-kontoen tillatelsen "View any definition" (anbefalt)
- Gi serverrollen "sysadmin" til NT AUTHORITY\SYSTEM-kontoen
- Tildel databaserollen "db_owner" til "master"-databasen i NT AUTHORITY\SYSTEM-kontoen
A. Gi NT AUTHORITY\SYSTEM-kontoen rettighetene "View any definition" (anbefalt)
-
Naviger til Microsoft SQL Server Management Studio og koble til den valgte Microsoft SQL Server-forekomsten.
-
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
-
Naviger til Microsoft SQL Server Management Studio og koble til den valgte Microsoft SQL Server-forekomsten.
-
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
-
Naviger til Microsoft SQL Server Management Studio og koble til den valgte Microsoft SQL Server-forekomsten.
-
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
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:
-
Naviger til Microsoft SQL Server Management Studio, og koble til den valgte serveren.
- Skriv inn forekomsten i feltet Servernavn i formatet nedenfor, og klikk på Koble til.
<servernavn>\<instansnavn>
Figur 3-1
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 NamesDu 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 (*" }