Издание
- Получавате грешка "Възникна грешка при зареждането на файловете с бази данни от базите данни на Microsoft SQL Server. Проверете дали акаунтът 'NT AUTHORITY\SYSTEM' има достатъчно права за четене на данни от системните изгледи на главните бази данни" в ESET Windows server product
- Появява се грешка при получаване на потребителското местоположение на данните от базата данни
- Активирайте услугата на ESET, за да получите потребителското местоположение на данните от базата данни
- Няколко инстанции на Microsoft SQL Server на един сървър
Решение
Появява се грешка при получаване на персонализирано местоположение на данните от базата данни
Автоматичните изключвания за Microsoft SQL Server се състоят основно от местата по подразбиране на файловете на базата данни. То обаче се състои и от пътища, по които файловете на базата данни се съхраняват в персонализирани местоположения. В този случай акаунтът NT AUTHORITY\SYSTEM трябва да има съответните права, за да извлече тази информация от основната база данни.
В Microsoft SQL Server 2016 и по-нови версии Microsoft премахна ролята sysadmin на сървъра за NT AUTHORITY\SYSTEM акаунта, в резултат на което сървърните продукти на ESET губят достъп до данните в главната база данни, която съдържа местоположенията на данните от базата данни на инстанцията на Microsoft SQL Server.
Сървърните продукти на ESET Windows информират за този проблем чрез съобщение за грешка. Щракнете върху Лог файлове, изберете Събития от падащото меню и прегледайте съобщението за грешка:
"Възникна грешка при зареждането на файловете на базата данни от базите данни на Microsoft SQL Server. Проверете дали акаунтът 'NT AUTHORITY\SYSTEM' има достатъчно права за четене на данни от системните изгледи на главните бази данни."
Щракнете върху изображението, за да го видите по-голямо в нов прозорец
Активиране на услугата на ESET за получаване на потребителското местоположение на данните от базата данни
За да разрешите на нашата услуга да получава потребителското местоположение на данните от базата данни, следвайте една от трите процедури по-долу, като използвате Microsoft SQL Server Management Studio:
- Предоставете права за "Преглед на всяка дефиниция" на акаунта NT AUTHORITY\SYSTEM (препоръчително)
- Предоставяне на ролята "sysadmin" на сървъра на акаунта NT AUTHORITY\SYSTEM
- Присвояване на ролята "db_owner" за базата данни "master" в акаунта NT AUTHORITY\SYSTEM
A. Предоставяне на права "View any definition" на акаунта NT AUTHORITY\SYSTEM (препоръчително)
-
Навигирайте в Microsoft SQL Server Management Studio и се свържете с избраната инстанция на Microsoft SQL Server.
-
Щракнете върху Securables. В колоната Grant (Предоставяне на права) поставете отметка в квадратчето до View any definition (Преглед на всяка дефиниция). Щракнете върху OK.
Фигура 2-1
B. Предоставяне на ролята "sysadmin" на сървъра на акаунта NT AUTHORITY\SYSTEM
-
Навигирайте в Microsoft SQL Server Management Studio и се свържете с избраната инстанция на Microsoft SQL Server.
-
Щракнете върху Server Roles (Роли на сървъра), поставете отметка в квадратчето до sysadmin и щракнете върху OK.
Фигура 2-2
C. Присвояване на ролята на база данни "db_owner" на базата данни "master" в акаунта NT AUTHORITY\SYSTEM
-
Навигирайте в Microsoft SQL Server Management Studio и се свържете с избраната инстанция на Microsoft SQL Server.
-
Щракнете върху User Mapping. В раздела Users mapped to this login (Потребители, картографирани към този вход ) поставете отметка в квадратчето до master. В раздела Database role membership for (Членство в роля на база данни за) изберете квадратчето за отметка до db_owner (Собственик на база данни). Щракнете върху OK.
Фигура 2-3
Няколко инстанции на MS SQL Server на един сървър
Можете да се свържете с конкретна инстанция на Microsoft SQL Server, като използвате диалоговия прозорец за връзка, който се показва при стартиране на Microsoft SQL Server Management Studio:
-
Навигирайте в Microsoft SQL Server Management Studio и се свържете с избрания сървър.
- Въведете инстанцията в полето Server name (Име на сървъра) във формата по-долу и щракнете върху Connect (Свързване).
<име на сървъра>\<име на инстанцията>
Фигура 3-1
Получаване на списъка с инстанциите на Microsoft SQL Server
Има няколко начина за получаване на списъка на инстанциите на Microsoft SQL Server, инсталирани на сървъра:
-
Когато инсталирате нов екземпляр на Microsoft SQL Server, в стъпката, в която въвеждате името на новия екземпляр, съветникът за инсталиране ще покаже списък на инсталираните в момента екземпляри.
-
Списъкът на инсталираните инстанции се намира в следния път в регистъра на Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Имена на инстанцииЗа да получите списъка, използвайте следната PowerShell команда:
Get-Item "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" | % {$_.Property} -
Всяка инстанция на Microsoft SQL Server инсталира съответната услуга в системата. Името на тази услуга има следния формат:
SQL Server (<име_инстанция>)Можете да филтрирате тези услуги в системата, за да получите списък на инсталираните инстанции на Microsoft Server SQL, като използвате следната PowerShell команда:Get-Service | ?{ $_.DisplayName -like "SQL Server (*" }