Problem
- Du får felmeddelandet "Ett fel uppstod när databasfiler laddades från Microsoft SQL Server-databaser. Kontrollera om kontot "NT AUTHORITY\SYSTEM" har tillräckliga behörigheter för att läsa data från systemvyerna för huvuddatabaser" i ESET Windows server-produkt
- Ett fel visas när du hämtar den anpassade platsen för databasdata
- Aktivera ESET-tjänsten för att hämta den anpassade platsen för databasdata
- Flera Microsoft SQL Server-instanser på en enda server
Lösning på problemet
Ett fel visas när du hämtar den anpassade platsen för databasdata
Automatiska undantag för Microsoft SQL Server består huvudsakligen av standardplatser för databasfiler. Men de består också av sökvägar där databasfiler lagras på anpassade platser. I detta fall måste NT AUTHORITY\SYSTEM-kontot ha lämpliga rättigheter för att extrahera denna information från huvuddatabasen.
I Microsoft SQL Server 2016 och senare tog Microsoft bort serverrollen sysadmin för NT AUTHORITY\SYSTEM-kontot, vilket ledde till att ESET Windows serverprodukter förlorade åtkomst till data i huvuddatabasen, som innehåller platserna för databasdata i Microsoft SQL Server-instansen.
ESET Windows Server-produkter informerar om detta problem via felmeddelandet. Klicka på Loggfiler, välj Händelser i rullgardinsmenyn och visa felmeddelandet:
"Ett fel inträffade när databasfiler laddades från Microsoft SQL Server-databaserna. Kontrollera om kontot 'NT AUTHORITY\SYSTEM' har tillräckliga behörigheter för att läsa data från systemvyerna i huvuddatabaserna."
Klicka på bilden för att se den i större format i nytt fönster
Aktivera ESET-tjänsten för att hämta den anpassade platsen för databasdata
För att aktivera vår tjänst för att hämta den anpassade platsen för databasdata, följ en av de tre procedurerna nedan med hjälp av Microsoft SQL Server Management Studio:
- Ge behörigheten "View any definition" till NT AUTHORITY\SYSTEM-kontot (rekommenderas)
- Ge serverrollen "sysadmin" till NT AUTHORITY\SYSTEM-kontot
- Tilldela databasrollen "db_owner" till databasen "master" i kontot NT AUTHORITY\SYSTEM
A. Ge behörigheten "View any definition" till NT AUTHORITY\SYSTEM-kontot (rekommenderas)
-
Navigera till Microsoft SQL Server Management Studio och anslut till den valda Microsoft SQL Server-instansen.
-
Klicka på Securables. I kolumnen Grant markerar du kryssrutan bredvid View any definition. Klicka på OK.
Bild 2-1
B. Tilldela serverrollen "sysadmin" till NT AUTHORITY\SYSTEM-kontot
-
Navigera till Microsoft SQL Server Management Studio och anslut till den valda Microsoft SQL Server-instansen.
-
Klicka på Server Roles, markera kryssrutan bredvid sysadmin och klicka på OK.
Bild 2-2
C. Tilldela databasrollen "db_owner" till databasen "master" i kontot NT AUTHORITY\SYSTEM
-
Navigera till Microsoft SQL Server Management Studio och anslut till den valda Microsoft SQL Server-instansen.
-
Klicka på Mappning av användare. I avsnittet Användare som mappas till denna inloggning markerar du kryssrutan bredvid master. I avsnittet Database role membership for markerar du kryssrutan bredvid db_owner. Klicka på OK.
Bild 2 - 3
Flera MS SQL Server-instanser på en och samma server
Du kan ansluta till en specifik instans av Microsoft SQL Server med hjälp av anslutningsdialogrutan som visas när du startar Microsoft SQL Server Management Studio:
-
Navigera till Microsoft SQL Server Management Studio och anslut till den valda servern.
- Skriv in instansen i fältet Servernamn i formatet nedan och klicka på Anslut.
<server_namn>\<instans_namn>
Bild 3-1
Hämta listan över Microsoft SQL Server-instanser
Det finns flera sätt att få fram listan över Microsoft SQL Server-instanser som är installerade på servern:
-
När du installerar en ny instans av Microsoft SQL Server, i det steg där du skriver namnet på den nya instansen, visar installationsguiden en lista över installerade instanser.
-
Listan över installerade instanser finns i följande Windows-registersökväg:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance NamesDu hämtar listan genom att använda följande PowerShell-kommando:
Get-Item "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" | % {$_.Property} -
Varje Microsoft SQL Server-instans installerar motsvarande tjänst i systemet. Namnet på den här tjänsten har följande format:
SQL Server (<instansnamn>)Du kan filtrera dessa tjänster i systemet för att få en lista över installerade Microsoft Server SQL-instanser med hjälp av följande PowerShell-kommando:Get-Service | ?{ $_.DisplayName -like "SQL Server (*" }