Проблема
- Ви отримуєте помилку "Виникла помилка під час завантаження файлів баз даних з баз даних Microsoft SQL Server. Перевірте, чи має обліковий запис 'NT AUTHORITY\SYSTEM' достатні права для читання даних із системних подань головних баз даних" у серверному продукті ESET Windows
- Виникає помилка під час отримання користувацького розташування даних баз даних
- Увімкніть службу ESET, щоб отримати користувацьке розташування даних бази даних
- Кілька екземплярів Microsoft SQL Server на одному сервері
Вирішення
Виникає помилка під час отримання спеціального розташування даних бази даних
Автоматичні виключення для 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' достатні повноваження для читання даних із системних представлень головних баз даних"
Клацніть на зображення, щоб відкрити його у новому вікні
Увімкнення служби ESET для отримання спеціального розташування даних бази даних
Щоб увімкнути нашу службу для отримання користувацького розташування даних бази даних, виконайте одну з трьох наведених нижче процедур за допомогою Microsoft SQL Server Management Studio:
- Надайте обліковому запису NT AUTHORITY\SYSTEM повноваження "Перегляд будь-якого визначення" (рекомендується)
- Надайте обліковому запису NT AUTHORITY\SYSTEM серверну роль 'sysadmin'
- Призначте роль бази даних 'db_owner' для бази даних 'master' в обліковому записі NT AUTHORITY\SYSTEM
A. Надайте обліковому запису NT AUTHORITY\SYSTEM повноваження 'Перегляд будь-якого визначення' (рекомендовано)
-
Перейдіть до Microsoft SQL Server Management Studio і підключіться до вибраного екземпляра Microsoft SQL Server.
-
Клацніть Безпека. У стовпчику Надати встановіть прапорець поруч із пунктом Переглянути будь-яке визначення. Натисніть кнопку OK.
Малюнок 2-1
B. Надання серверної ролі sysadmin обліковому запису NT AUTHORITY\SYSTEM
-
Перейдіть до Microsoft SQL Server Management Studio і підключіться до вибраного екземпляра Microsoft SQL Server.
-
Клацніть Ролі сервера, встановіть прапорець навпроти sysadmin і натисніть OK.
Малюнок 2-2
C. Призначення ролі бази даних 'db_owner' для бази даних 'master' в обліковому записі NT AUTHORITY\SYSTEM
-
Перейдіть до Microsoft SQL Server Management Studio і підключіться до вибраного екземпляра Microsoft SQL Server.
-
Натисніть User Mapping (Зіставлення користувачів). У розділі Користувачі, прив'язані до цього розділу входу, встановіть прапорець навпроти головного користувача. У розділі Належність до ролей бази даних для розділу встановіть прапорець напроти db_owner. Натисніть кнопку OK.
Малюнок 2-3
Кілька екземплярів MS SQL Server на одному сервері
Ви можете підключитися до певного екземпляра Microsoft SQL Server за допомогою діалогового вікна підключення, яке відображається під час запуску Microsoft SQL Server Management Studio:
-
Перейдіть до Microsoft SQL Server Management Studio і підключіться до вибраного сервера.
- Введіть екземпляр у полі Ім'я сервера у форматі, наведеному нижче, і натисніть кнопку Підключити.
<ім'я_сервера>\<ім'я_екземпляра>
Малюнок 3-1
Отримання списку екземплярів 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 (*" }