Problema
- Gaunama klaida "Į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ų" ESET Windows serverio produkte
- Gaunant pasirinktinę duomenų bazės duomenų vietą atsiranda klaida
- Įjunkite ESET paslaugą, kad gautumėte pasirinktinę duomenų bazės duomenų vietą
- Keli Microsoft SQL Server egzemplioriai viename serveryje
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ų."
Spustelėkite paveikslėlį, jei norite peržiūrėti didesnį naujame lange
Į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ų:
- Suteikite NT AUTHORITY\SYSTEM paskyrai "View any definition" teises (rekomenduojama)
- Suteikite serverio vaidmenį "sysadmin" NT AUTHORITY\SYSTEM paskyrai
- 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)
-
Pereikite į "Microsoft SQL Server Management Studio" ir prisijunkite prie pasirinktos "Microsoft SQL Server" instancijos.
-
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
-
Pereikite į "Microsoft SQL Server Management Studio" ir prisijunkite prie pasirinktos "Microsoft SQL Server" instancijos.
-
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
-
Pereikite į "Microsoft SQL Server Management Studio" ir prisijunkite prie pasirinktos "Microsoft SQL Server" instancijos.
-
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
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":
-
Pereikite į "Microsoft SQL Server Management Studio" ir prisijunkite prie pasirinkto serverio.
- Lauke Serverio pavadinimas įveskite egzempliorių toliau nurodytu formatu ir spustelėkite Jungtis.
<serverio_vardas>\<instancijos_vardas>
3-1 pav
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 NamesNorė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 (*" }