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

ПРИМІТКА:

Ця сторінка перекладена за допомогою комп'ютера. Клацніть англійську мову в розділі Мови на цій сторінці, щоб переглянути оригінальний текст. Якщо вам щось незрозуміло, зверніться до місцевої служби підтримки.

Проблема

Вирішення

Виникає помилка під час отримання спеціального розташування даних бази даних

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

У Microsoft SQL Server 2016 і пізніших версіях корпорація Майкрософт видалила роль адміністратора сервера для облікового запису 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. Надайте обліковому запису NT AUTHORITY\SYSTEM повноваження "Перегляд будь-якого визначення" (рекомендується)
  2. Надайте обліковому запису NT AUTHORITY\SYSTEM серверну роль 'sysadmin'
  3. Призначте роль бази даних 'db_owner' для бази даних 'master' в обліковому записі NT AUTHORITY\SYSTEM
A. Надайте обліковому запису NT AUTHORITY\SYSTEM повноваження 'Перегляд будь-якого визначення' (рекомендовано)
Рекомендована процедура

Ця процедура надає лише права на читання, тому має мінімальний вплив на безпеку системи.

  1. Перейдіть до Microsoft SQL Server Management Studio і підключіться до вибраного екземпляра Microsoft SQL Server.

  2. Клацніть Безпека. У стовпчику Надати встановіть прапорець поруч із пунктом Переглянути будь-яке визначення. Натисніть кнопку 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. Натисніть User Mapping (Зіставлення користувачів). У розділі Користувачі, прив'язані до цього розділу входу, встановіть прапорець навпроти головного користувача. У розділі Належність до ролей бази даних для розділу встановіть прапорець напроти 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 (*" }