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

примечание:

Этот документ переведен для вашего удобства с помощью машинного перевода. Пожалуйста, будьте уверены, что мы приложили все усилия, чтобы обеспечить максимально точный перевод. Однако ни один автоматизированный перевод не призван заменить переводчика-человека. Официальным текстом является английская версия, которую можно найти, нажав на English справа от этого текста (или внизу, если вы читаете с мобильного). Если у вас возникли вопросы или замечания относительно точности переведенного текста, пожалуйста, обратитесь к официальной версии на английском языке или свяжитесь с местной службой поддержки. Спасибо за ваше терпение.

Проблема

Решение

Возникает ошибка при получении пользовательского расположения данных базы данных

Автоматические исключения для Microsoft SQL Server состоят в основном из стандартных местоположений файлов баз данных. Однако в них также входят пути, где файлы баз данных хранятся в пользовательских местах. В этом случае учетная запись NT AUTHORITY\SYSTEM должна иметь соответствующие права для извлечения этой информации из главной базы данных.

В Microsoft SQL Server 2016 и более поздних версиях Microsoft удалила роль системного администратора сервера для учетной записи NT AUTHORITY\SYSTEM, в результате чего серверные продукты ESET Windows потеряли доступ к данным в главной базе данных, которая содержит местоположения данных базы данных экземпляра Microsoft SQL Server.

Серверные продукты ESET Windows информируют об этой проблеме сообщением об ошибке. Нажмите кнопку Файлы журнала, выберите в раскрывающемся меню пункт События и просмотрите сообщение об ошибке:

"Произошла ошибка при загрузке файлов базы данных из баз данных Microsoft SQL Server. Проверьте, имеет ли учетная запись 'NT AUTHORITY\SYSTEM' достаточные разрешения на чтение данных из системных представлений основных баз данных."

Рисунок 1-1
Щелкните изображение для просмотра в новом окне
Если вы не можете внести изменения по соображениям безопасности
  • Если вы не можете внести какие-либо изменения, автоматические исключения будут состоять только из мест по умолчанию.
  • Если некоторые файлы базы данных расположены в определенном месте или местах (не в путях по умолчанию), добавьте этот путь или пути вручную или в исключения.
  • Если все файлы базы данных расположены только в местах по умолчанию, игнорируйте эту ошибку.


Включение службы ESET для получения пользовательского расположения данных базы данных

Чтобы включить нашу службу для получения пользовательского расположения данных базы данных, выполните одну из трех описанных ниже процедур с помощью Microsoft SQL Server Management Studio:

  1. Предоставьте права 'View any definition' учетной записи NT AUTHORITY\SYSTEM (рекомендуется)
  2. Предоставьте роль сервера 'sysadmin' учетной записи NT AUTHORITY\SYSTEM
  3. Назначьте роль базы данных 'db_owner' базе данных 'master' в учетной записи NT AUTHORITY\SYSTEM
A. Предоставить права 'Просмотр любого определения' учетной записи 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. Щелкните Роли сервера, установите флажок рядом с sysadmin и нажмите OK.

    Рисунок 2-2
C. Назначение роли базы данных 'db_owner' для базы данных 'master' в учетной записи NT AUTHORITY\SYSTEM
  1. Перейдите в Microsoft SQL Server Management Studio и подключитесь к выбранному экземпляру Microsoft SQL Server.

  2. Нажмите кнопку Сопоставление пользователей. В разделе Пользователи, сопоставленные с этим логином, установите флажок рядом с master. В разделе Членство в роли базы данных для установите флажок рядом с 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. Введите экземпляр в поле Имя сервера в формате, приведенном ниже, и нажмите кнопку Подключиться.

    <имя_сервера>\<имя_экземпляра>

    Рисунок 3-1
Microsoft SQL Server Express

Некоторые сложные среды или установки служб предлагают бесплатную редакцию Microsoft SQL Server под названием Microsoft SQL Server Express.

Эта редакция SQL-сервера предоставляется бесплатно. Она имеет ограниченный размер и производительность и больше подходит для малых предприятий.

Например, если во время установки ESET PROTECT On-Prem вы не предоставили собственный сервер Microsoft SQL, 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\Instance Names.

    Чтобы получить список, используйте следующую команду 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 (*" }