One of my client was trying to deploy his product on their test servers. They found that the SQL Server installation was failing with below error. Let us learn about error Wait on the Database Engine recovery handle failed.
Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
As per my internet search this happens when SQL Setup is not able to start SQL Service during installation. I have looked into SQL Server ERRORLOG and found below the messages.
2016-12-23 16:15:04.84 spid14s Error: 17120, Severity: 16, State: 1.
2016-12-23 16:15:04.84 spid14s SQL Server could not spawn FRunCommunicationsManager thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
This was interesting because my client was trying to install this on a Domain Controller. I checked setup logs again and found below in Summary.txt file.
SQLSVCACCOUNT: NT Service\MSSQLSERVER
Above parameter shows the account name which was selected during installation. Since this is a domain controller, I thought that there might be issues due to this.
WORKAROUND / SOLUTION
As the error says, first we need to uninstall the feature and then during setup, when we come to Server Configuration Screen, we need to change the account name of the Database Engine Service to
- NT AUTHORITY\NETWORK SERVICE.
- NT AUTHORITY\LOCAL SERVICE.
Both worked for my client and they could install SQL Express.
Reference: Pinal Dave (https://blog.sqlauthority.com)