[KB8406] Lägg till behörigheter för att hämta databasdataplatser för att generera automatiska undantag för Microsoft SQL Server i ESET Windows Server-produkter

OBS:

Den här sidan har översatts av en dator. Klicka på engelska under Språk på den här sidan för att se originaltexten. Om du tycker att något är oklart, kontakta din lokala support.

Problem

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."

Figur 1-1
Klicka på bilden för att se den i större format i nytt fönster
Om du inte kan göra några ändringar av säkerhetsskäl
  • Om du inte kan göra några ändringar kommer de automatiska undantagen endast att bestå av standardplatser.
  • Om du har vissa databasfiler på en eller flera specifika platser (inte i standardsökvägen) lägger du till den eller de sökvägarna manuellt eller i undantagen.
  • Om alla databasfiler endast finns på standardplatserna ignorerar du det här felet.


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:

  1. Ge behörigheten "View any definition" till NT AUTHORITY\SYSTEM-kontot (rekommenderas)
  2. Ge serverrollen "sysadmin" till NT AUTHORITY\SYSTEM-kontot
  3. 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)
Rekommenderad procedur

Denna procedur ger endast läsrättigheter, så det finns en minimal säkerhetspåverkan på systemet.

  1. Navigera till Microsoft SQL Server Management Studio och anslut till den valda Microsoft SQL Server-instansen.

  2. 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
  1. Navigera till Microsoft SQL Server Management Studio och anslut till den valda Microsoft SQL Server-instansen.

  2. 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
  1. Navigera till Microsoft SQL Server Management Studio och anslut till den valda Microsoft SQL Server-instansen.

  2. 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
Procedurer som ska utföras för varje Microsoft SQL Server-instans

Den valda proceduren måste utföras för varje Microsoft SQL Server-instans som är installerad på servern.

Hämta listan över Microsoft SQL Server-instanser som är installerade på din server.

Om du använder flera Microsoft SQL Server-instanser på en och samma server ansluter du till en specifik instans av Microsoft SQL Server.


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:

  1. Navigera till Microsoft SQL Server Management Studio och anslut till den valda servern.

  2. Skriv in instansen i fältet Servernamn i formatet nedan och klicka på Anslut.

    <server_namn>\<instans_namn>

    Bild 3-1
Microsoft SQL Server Express

Vissa komplexa miljöer eller serviceinstallationer erbjuder en gratis utgåva av Microsoft SQL Server som heter Microsoft SQL Server Express.

Den här SQL Server-utgåvan är gratis. Den är begränsad i storlek och prestanda och lämpar sig bättre för små företag.

Om du t.ex. inte tillhandahåller en egen Microsoft SQL-server under installationen av ESET PROTECT On-Prem installeras Microsoft SQL Server Express som standard.

Ange behörigheter för varje instans med Microsoft SQL Server Express

Om du fortfarande får felmeddelandet ska du kontrollera att du inte har någon instans av Microsoft SQL Server Express installerad. Om det finns en instans av Microsoft SQL Server Express uppdaterar du behörigheterna som beskrivs i det första avsnittet.

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 Names

    Du 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 (*" }