SQL Server: Cluster Installation failed with error “Wait on the Database Engine recovery handle failed.”

So, it is a nice fine day and you’re in office doing your BAU. You got this new task of installing SQL Cluster (which you’ve probably done several times before) and after making all necessary arrangements and planning you started it. All went fine and then when the setup is almost done you got this strange error “Wait on the Database Engine recovery handle failed.” which ruins the rest of your day. No worries we are here to sort this out quickly for you.

Problem

Now the problem here is that SQL Server setup is able to install all the components but is failing for DB engine (and its group). You get the error pop-up stating the below error:

“Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.”

It may also give some link, which unfortunately (may) not lead you to anywhere. And at the end your see crosses against DB engine and its dependent components.

Let me first tell you that why you got this error. In every SQL Server installation almost at the end when setup is done copying all the files and configuration, it has a step to bring the DB engine services online to ensure all is done correctly. In case if it fails to bring it online, the setup will mark the DB engine group failed with the error mentioned above.

Solution

Now if you search with error above you may find solution like re-trying the setup using “system accounts” as DB engine service account. Now that may hold good for few stand-alone installation cases but as the error says itself we must “Check the SQL Server error log for potential causes”. Upon checking the error log I found that the service was not able to come online because of the following reason.

TDSSNIClient initialization failed with error 0x139f, status code 0x80. Reason: Unable to initialize SSL support. The group or resource is not in the correct state to perform the requested operation.

So, in case this is a new server setup it can be possible that “TLS 1.0” is not enabled or may have in-correct value. To verify the same perform the following steps:
  • Open Registry Editor (Run -> regedit).
  •  Traverse up to below path: 
  • hkey_local_machine\system\controlset001\control\securityproviders\schannel\protocols\
  • Verify you’ve the keys and values are set as following for server (at-least):



In my case the values were set incorrectly for the “enabled” key to some “0xfffff”. Changing it to 1 and saving it did the trick. Once you’re done you should be able to do the installation after uninstalling. Just to be safe do take registry back-up before performing any changes and restart the server before reinstallation.

In case your server has some special certificates\algorithms installed and want to ensure that server uses TLS you can do the following as well (this may help those who still are facing the problem even after making the above registry changes):
  • Open “Run” prompt and type “gpedit.msc” and hit enter.
  • Traverse to “Computer Configuration -> Administrative Templates -> Network -> SSL Configuration Settings”.
  • On right hand pane you’ll see “SSL Cipher Suite Order”.
  • Open the above mentioned settings and disable it.

Hope this solution solves your problem as well. Please share the post and leave your valued feedback as well.

Reference:


Comments

Popular posts from this blog

SQL Server: SQL Server services not starting. TDSSNIClient initialization failed with error 0x139f, status code 0x80. Reason: Unable to initialize SSL support.

SQL Server 2014 SP\CU installation getting stuck at “MsiTimingAction”