I came across an interesting error when installing MS SQL Server 2014 on a new VM running Windows Server 2012 R2. SQL Server setup was interrupted almost at the end with the error “Could not find the Database Engine startup handle”.
There was the following error in the SQL installation log (summary.txt file):
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.
This MS SQL Server installation error is related to standard installation settings when SQL Server is run under an unprivileged account NT Service\MSSQL$V2014. This account may not have the privilege to run SQL Server service, so the service cannot be run and the installer returns the “Could not find the Database Engine startup handle” error. Also, this error may indicate that somebody has already tried to install SQL Server on this computer and files or services left after the installation have not been removed.
To fix the SQL Server install error:
- Correctly uninstall all programs related to SQL Server from the Control Panel and restart your server (make sure there are no files or folders in the folder C:\Program Files\Microsoft SQL Server\MSSQL12.xxx).;
- Run the installation from the SQL Server distribution from scratch. On the Server Configuration tab, make sure that the SQL Server Database Engine service is run under NT Service\MSSQLSERVER account;
- Change this account to NT AUTHORITY\SYSTEM;
- Continue the SQL Server installation. The error shouldn’t appear again.
After the installation is complete, we strongly recommend to change the account, under which SQL Server Database Engine is run, to an unprivileged account. You don’t need to grant this account local administrator permissions ( it’s enough to provide necessary privileges inside SQL Server security settings). You can use accounts with sysadmin privileges: NT Service\MSSQLSERVICE or NT Service\SQLSERVERAGENT. To change the account, under which SQL Server runs:
- Run the SQL Server Configuration Manager and go to SQL Server Services;
- Click SQL Server (MSSQLSERVER), then click Browse and in the “This account” field specify the account, under which the service must be run, or use a gMSA (Group Managed Service Account). Enter the user password and save the changes;
- Restart SQL Server services.
This method will help you to fix the “Could not find the Database Engine startup handle” error during the installation of any SQL Server versions (2016, 2014, 2012 or 2008 r2).