Зіткнувся з цікавою помилкою при установці MS SQL Server 2014 на новому сервері Windows Server 2012 R2. Установка SQL Server переривається майже в самому кінці з помилкою "Не знайдено дескриптор запуску компонента Database Engine" (Could not find the Database Engine startup handle).
У балці установки Summary.txt при цьому присутній помилка:
Feature: Database Engine Services
Status: Failed: see logs for details
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A0019
Error description: Could not find the Database Engine startup handle.
Дана помилка установки MS SQL Server пов'язана з тим, що використовуються стандартні настройки установки, при якому служба SQL Server запускається під непривілейованої обліковим записом NT Service \ MSSQL $ V2014. У цього облікового запису може бути недостатньо повноважень для запуску служби SQL Server, тому запустити службу неможливо, і установник завершується з помилкою "Could not find the Database Engine startup handle". Також ця помилка може вказувати на те, що раніше на комп'ютері вже намагалися встановити SQL Server і не очистили файли і служби, що залишилися від попередньої установки.
Щоб виправити помилку установки SQL Server:
- Коректно деінсталюйте всі програми, пов'язані з SQL Server через Панель керування, перезавантажте сервер (перевірте, що не залишилося файлів і папок в каталозі C: \ Program Files \ Microsoft SQL Server \ MSSQL12.xxx);
- Запустіть чисту установку з дистрибутива SQL Server. На вкладці "Server Configuration" переконайтеся, що служба SQL Server Database Engine запускається під обліковим записом NT Service \ MSSQLSERVER;
- Змініть цей обліковий запис на NT AUTHORITY \ SYSTEM;
- Продовжіть установку SQL Server. Помилка більше не повинна з'являтися.
Після закінчення установки настійно рекомендуємо змінити обліковий запис, під якою запускається служба SQL Server Database Engine на непривілейованих обліковий запис. Цей обліковий запис не обов'язково повинна мати права локального адміністратора сервера (цілком достатньо повноважень всередині SQL Server). Можна використовувати акаунти з правами sysadmin - NT Service \ MSSQLSERVICE або NT Service \ SQLSERVERAGENT. Щоб змінити обліковий запис, під якою працює SQL Server:
- запустіть SQL Server Configuration Manager і перейдіть в розділ SQL Server Services;
- клацніть по SQL Server (MSSQLSERVER), натисніть кнопку Browse і в поле This account виберіть обліковий запис, під якою потрібно запускати службу або використовуйте керовану обліковий запис - gMSA (Group Managed Service Accounts). Вкажіть пароль користувача і збережіть зміни;
- Перезапустіть служби SQL Server.
Цей спосіб допоможе вам виправити помилку "Не вдалося знайти дескриптор запуску компонента Database Engine" при установці будь-яких версій SQL Server (2016, 2014 року, 2012 або 2008).