[KB8406] Pridėti teises gauti duomenų bazės duomenų vietas, kad būtų galima sukurti automatines išimtis Microsoft SQL serveriui ESET Windows serverio produktuose

PASTABA:

Šį puslapį išvertė kompiuteris. Norėdami peržiūrėti originalų tekstą, spustelėkite anglų kalbą šio puslapio skiltyje Kalbos. Jei jums kas nors neaišku, kreipkitės į vietinę pagalbos tarnybą.

Problema

Sprendimas

Gaunant pasirinktinę duomenų bazės duomenų vietą atsiranda klaida

Microsoft SQL Server automatines išimtis daugiausia sudaro numatytoji duomenų bazių failų vieta. Tačiau ją taip pat sudaro keliai, kuriuose duomenų bazių failai saugomi pasirinktinėse vietose. Šiuo atveju NT AUTHORITY\SYSTEM paskyra turi turėti atitinkamas teises, kad būtų galima šią informaciją išgauti iš pagrindinės duomenų bazės.

Microsoft SQL Server 2016 ir vėlesnėse versijose Microsoft panaikino sysadmin serverio vaidmenį NT AUTHORITY\SYSTEM paskyrai, todėl ESET Windows serverio produktai praranda prieigą prie pagrindinės duomenų bazės duomenų, kurioje yra Microsoft SQL Server egzemplioriaus duomenų bazės duomenų vietos.

Apie šią problemą ESET Windows serverio produktai informuoja klaidos pranešimu. Spustelėkite Žurnalo failai, išplečiamajame meniu pasirinkite Įvykiai ir peržiūrėkite klaidos pranešimą:

"Įkeliant duomenų bazių failus iš Microsoft SQL Server duomenų bazių įvyko klaida. Patikrinkite, ar "NT AUTHORITY\SYSTEM" paskyra turi pakankamas teises skaityti duomenis iš pagrindinių duomenų bazių sisteminių rodinių."

1-1 pav.
Spustelėkite paveikslėlį, jei norite peržiūrėti didesnį naujame lange
Jei dėl saugumo priežasčių negalite atlikti jokių pakeitimų
  • Jei negalite atlikti jokių pakeitimų, automatines išimtis sudarys tik numatytoji vieta.
  • Jei kai kurie duomenų bazės failai yra tam tikroje vietoje ar vietose (ne numatytuosiuose keliuose), pridėkite šį kelią ar kelius rankiniu būdu arba prie išimčių.
  • Jei visi duomenų bazės failai yra tik numatytosiose vietose, į šią klaidą nekreipkite dėmesio.


Įjunkite ESET paslaugą, kad gautumėte pasirinktinę duomenų bazės duomenų vietą

Norėdami įgalinti mūsų paslaugą gauti pasirinktinę duomenų bazės duomenų vietą, naudodami "Microsoft SQL Server Management Studio" atlikite vieną iš trijų toliau nurodytų procedūrų:

  1. Suteikite NT AUTHORITY\SYSTEM paskyrai "View any definition" teises (rekomenduojama)
  2. Suteikite serverio vaidmenį "sysadmin" NT AUTHORITY\SYSTEM paskyrai
  3. Paskirkite "db_owner" duomenų bazės vaidmenį "master" duomenų bazei NT AUTHORITY\SYSTEM paskyroje
A. Suteikite NT AUTHORITY\SYSTEM paskyrai "View any definition" teises (rekomenduojama)
Rekomenduojama procedūra

Šia procedūra suteikiamos tik skaitymo teisės, todėl poveikis sistemos saugumui yra minimalus.

  1. Pereikite į "Microsoft SQL Server Management Studio" ir prisijunkite prie pasirinktos "Microsoft SQL Server" instancijos.

  2. Spustelėkite Securables. Stulpelyje Suteikti pažymėkite žymimąjį langelį šalia Peržiūrėti bet kokį apibrėžimą. Spustelėkite Gerai.

    2-1 pav
B. Suteikite "sysadmin" serverio vaidmenį NT AUTHORITY\SYSTEM paskyrai
  1. Pereikite į "Microsoft SQL Server Management Studio" ir prisijunkite prie pasirinktos "Microsoft SQL Server" instancijos.

  2. Spustelėkite Serverio vaidmenys, pažymėkite žymimąjį langelį šalia " sysadmin" ir spustelėkite OK.

    2-2 pav
C. Duomenų bazės vaidmens "db_owner" priskyrimas "master" duomenų bazei NT AUTHORITY\SYSTEM paskyroje
  1. Pereikite į "Microsoft SQL Server Management Studio" ir prisijunkite prie pasirinktos "Microsoft SQL Server" instancijos.

  2. Spustelėkite User Mapping (naudotojų atvaizdavimas). Skiltyje Users mapped to this login (Naudotojai, priskirti šiam prisijungimui ) pažymėkite žymimąjį langelį šalia master (pagrindinis). Skyriuje Database role membership for (priklausomybė duomenų bazės vaidmeniui ) pažymėkite žymimąjį langelį šalia db_owner (savininkas). Spustelėkite Gerai.

    2-3 pav
Procedūros, kurias reikia atlikti kiekvienai "Microsoft SQL Server" instancijai

Pasirinktą procedūrą reikia atlikti kiekvienai serveryje įdiegtai "Microsoft SQL Server" instancijai.

Gaukite serveryje įdiegtų"Microsoft SQL Server" instancijų sąrašą.

Jei viename serveryje naudojate kelis "Microsoft SQL Server" egzempliorius, prisijunkite prie konkretaus "Microsoft SQL Server" egzemplioriaus.


Keli MS SQL Server egzemplioriai viename serveryje

Prie konkretaus "Microsoft SQL Server" egzemplioriaus galite prisijungti naudodami prisijungimo dialogo langą, rodomą paleidus "Microsoft SQL Server Management Studio":

  1. Pereikite į "Microsoft SQL Server Management Studio" ir prisijunkite prie pasirinkto serverio.

  2. Lauke Serverio pavadinimas įveskite egzempliorių toliau nurodytu formatu ir spustelėkite Jungtis.

    <serverio_vardas>\<instancijos_vardas>

    3-1 pav
Microsoft SQL Server Express

Kai kuriose sudėtingose aplinkose arba paslaugų diegimo vietose siūlomas nemokamas "Microsoft SQL Server" leidimas, vadinamas "Microsoft SQL Server Express".

Šį SQL serverio leidimą galima gauti nemokamai. Jo dydis ir našumas ribotas, todėl jis labiau tinka mažoms įmonėms.

Pavyzdžiui, jei ESET PROTECT On-Prem diegimo metu nepateikiate savo Microsoft SQL serverio, pagal nutylėjimą įdiegiamas Microsoft SQL Server Express.

Nustatykite leidimus kiekvienai instancijai su Microsoft SQL Server Express

Jei vis tiek gaunate klaidos pranešimą, patikrinkite, ar nėra įdiegtas Microsoft SQL Server Express egzempliorius. Jei "Microsoft SQL Server Express" egzempliorius yra, atnaujinkite leidimus, aprašytus pirmame skyriuje.

Gaukite "Microsoft SQL Server" egzempliorių sąrašą

Yra keletas būdų, kaip gauti serveryje įdiegtų "Microsoft SQL Server" egzempliorių sąrašą:

  • Diegiant naują "Microsoft SQL Server" egzempliorių, žingsnyje, kuriame įvedate naujo egzemplioriaus pavadinimą, diegimo vedlys parodys šiuo metu įdiegtų egzempliorių sąrašą.

  • Įdiegtų egzempliorių sąrašas yra toliau nurodytame "Windows" registro kelyje:

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

    Norėdami gauti sąrašą, naudokite šią "PowerShell" komandą:

    Get-Item "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" | % {$_.Property}
  • Kiekvienas "Microsoft SQL Server" egzempliorius sistemoje įdiegia atitinkamą paslaugą. Šios paslaugos pavadinimas yra tokio formato:

    SQL Server (<instance_name>)

    Šias paslaugas sistemoje galite filtruoti, kad gautumėte įdiegtų "Microsoft Server SQL" egzempliorių sąrašą naudodami šią "PowerShell" komandą:

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