[KB8406] Добавяне на разрешения за получаване на местоположения на данни за бази данни за генериране на автоматични изключвания за Microsoft SQL Server в продуктите на ESET за Windows сървъри

ЗАБЕЛЕЖКА:

Тази страница е преведена от компютър. Щракнете върху Английски под Езици на тази страница, за да се покаже оригиналният текст. Ако установите, че нещо не е ясно, моля, свържете се с местната поддръжка.

Издание

Решение

Появява се грешка при получаване на персонализирано местоположение на данните от базата данни

Автоматичните изключвания за 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' има достатъчно права за четене на данни от системните изгледи на главните бази данни."

Фигура 1-1
Щракнете върху изображението, за да го видите по-голямо в нов прозорец
Ако не можете да направите никакви промени от съображения за сигурност
  • Ако не можете да направите никакви промени, автоматичните изключвания ще се състоят само от места по подразбиране.
  • Ако имате някои файлове на базата данни, разположени на определено място или места (не в пътя по подразбиране), добавете този път или пътища ръчно или към изключванията.
  • Ако всички файлове на базата данни са разположени само в местата по подразбиране, игнорирайте тази грешка.


Активиране на услугата на ESET за получаване на потребителското местоположение на данните от базата данни

За да разрешите на нашата услуга да получава потребителското местоположение на данните от базата данни, следвайте една от трите процедури по-долу, като използвате Microsoft SQL Server Management Studio:

  1. Предоставете права за "Преглед на всяка дефиниция" на акаунта NT AUTHORITY\SYSTEM (препоръчително)
  2. Предоставяне на ролята "sysadmin" на сървъра на акаунта NT AUTHORITY\SYSTEM
  3. Присвояване на ролята "db_owner" за базата данни "master" в акаунта NT AUTHORITY\SYSTEM
A. Предоставяне на права "View any definition" на акаунта NT AUTHORITY\SYSTEM (препоръчително)
Препоръчителна процедура

Тази процедура предоставя само права за четене, така че има минимално въздействие върху сигурността на системата.

  1. Навигирайте в Microsoft SQL Server Management Studio и се свържете с избраната инстанция на Microsoft SQL Server.

  2. Щракнете върху Securables. В колоната Grant (Предоставяне на права) поставете отметка в квадратчето до View any definition (Преглед на всяка дефиниция). Щракнете върху OK.

    Фигура 2-1
B. Предоставяне на ролята "sysadmin" на сървъра на акаунта NT AUTHORITY\SYSTEM
  1. Навигирайте в Microsoft SQL Server Management Studio и се свържете с избраната инстанция на Microsoft SQL Server.

  2. Щракнете върху Server Roles (Роли на сървъра), поставете отметка в квадратчето до sysadmin и щракнете върху OK.

    Фигура 2-2
C. Присвояване на ролята на база данни "db_owner" на базата данни "master" в акаунта NT AUTHORITY\SYSTEM
  1. Навигирайте в Microsoft SQL Server Management Studio и се свържете с избраната инстанция на Microsoft SQL Server.

  2. Щракнете върху User Mapping. В раздела Users mapped to this login (Потребители, картографирани към този вход ) поставете отметка в квадратчето до master. В раздела Database role membership for (Членство в роля на база данни за) изберете квадратчето за отметка до db_owner (Собственик на база данни). Щракнете върху OK.

    Фигура 2-3
Процедури, които трябва да се извършат за всеки екземпляр на Microsoft SQL Server

Избраната процедура трябва да се изпълни за всеки инстанция на Microsoft SQL Server, инсталирана на сървъра.

Получете списъка на инстанциите на Microsoft SQL Server, инсталирани на вашия сървър.

Ако използвате няколко инстанции на Microsoft SQL Server на един сървър, свържете се с конкретна инстанция на Microsoft SQL Server.


Няколко инстанции на MS SQL Server на един сървър

Можете да се свържете с конкретна инстанция на Microsoft SQL Server, като използвате диалоговия прозорец за връзка, който се показва при стартиране на Microsoft SQL Server Management Studio:

  1. Навигирайте в Microsoft SQL Server Management Studio и се свържете с избрания сървър.

  2. Въведете инстанцията в полето Server name (Име на сървъра) във формата по-долу и щракнете върху Connect (Свързване).

    <име на сървъра>\<име на инстанцията>

    Фигура 3-1
Microsoft SQL Server Express

Някои сложни среди или инсталации на услуги предлагат безплатно издание на Microsoft SQL Server, наречено Microsoft SQL Server Express.

Това издание на SQL сървъра се предлага безплатно. То е ограничено по отношение на размера и производителността и е по-подходящо за малки предприятия.

Например, ако не предоставите свой собствен Microsoft SQL сървър по време на инсталацията на ESET PROTECT On-Prem, Microsoft SQL Server Express се инсталира по подразбиране.

Задаване на разрешения за всяка инстанция с Microsoft SQL Server Express

Ако все още получавате съобщението за грешка, проверете дали нямате инсталирана инстанция на Microsoft SQL Server Express. Ако има инстанция на Microsoft SQL Server Express, актуализирайте разрешенията, описани в първия раздел.

Получаване на списъка с инстанциите на 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 (*" }