How to Fix the Error “Could not find the Database Engine startup handle” in SQL Server 2016, 2014, or 2008
When I decided to install SharePoint 2016 IT Preview I figured I should install it on a Windows Server 2016 Technical Preview, along with SQL Server 2016 Community Technology Preview (CTP). I bet you didn’t realize there are so many different names today for what used to be simply referred to as “BETA” back in the good ol’ days. Actually, we used to have Alpha, Beta, Release Candidate, and the Final product. But that was then, this is now. If you are really curious as to why Microsoft decided to use terminology like Community Technology Preview, visit this MSDN blog post.
Windows Server 2016 Technical Preview installation was simple but when I started to install SQL Server 2012 on Windows Server 2016 Technical Preview in Hyper-V I ran into some issues. No problem, I decided to install SQL Server 2014 but it too had some issues so I decided it makes sense to install SQL Server 2016 so let’s try that. I have installed SQL Server tons of times on different versions of SQL Server over the years and didn’t really had any major issues that I wasn’t able to resolve. When I started to run into some errors during SQL Server 2016 CTP2.3 install, I decided it better fix these issues because the 2016 version will be the most compatible version with Windows Server 2016 and SharePoint Server 2016. All these products are still in beta so I had to be patient and fix these errors before I start to install these products for my business clients down the road. Here’s the first problem and a solution. I will document the second problem and a solution in my next post.
During SQL Server installation, you may run into the following error:
Could not find the Database Engine startup handle
The word handle is misspelled in the above screenshot. Microsoft should be excused because at the time I wrote this article, SQL Server 2016 was still in beta. The screenshots in this article are from SQL Server 2016 CTP2.3 running on Windows Server 2016 Technical Preview. I have experienced this error only in SQL Server 2016 CTP2.3 but you may also experience this error in SQL Server 2014 or 2008.
Here’s a solution that I found on Microsoft TechNet Wiki. There’s a lot more information in the wiki post. Here I am just documenting the steps in detail that I used to make the recommended change in the post.
- If you have installed SQL Server then you should remove it completely through the Control Panel and restart the server. If you need help, visit this wiki post for more information.
- When you get to the Server Configuration page as shown below, you will notice that the SQL Server Database Engine service is using the account NT Service\MSSQLSERVER.
- Change the account from NT Service\MSSQLSERVER to NT AUTHORITY\SYSTEM by clicking on the drop-down box, selecting browse and then typing SYSTEM in Select User, Computer, Service Account, or Group window in Active Directory. Click OK to accept the new account.
- Your screen should look similar to the screenshot below.
- Continue on with the installation as you normally would.
- You should no longer receive the error Could not find the Database Engine startup handle during installation.
Best Practice: You should restart the Windows server after SQL Server installation is complete. Yes, even if you are not prompted by the system to restart the server you must restart the server after installation of SQL Server, SharePoint Server, etc. or else you may run into problems.
The wiki post recommends that after the installation is complete you should change this account back to a low-privileged domain account that will run the SQL Database Engine service. If you are still experiencing the error, please visit the wiki post because it has a lot more detail, references, links to forums, etc.
UPDATE: January 17, 2017
To change the account back to a low-privileged domain account, as mentioned above, follow the steps in this section. The domain account can be just a regular domain user account, not an administrator but it may need special permissions in SQL Server (not Windows Server, or Active Directory Domain). For example, the NT Service\MSSQLSERVICE and NT Service\SQLSERVERAGENT both have sysadmin permissions on the SQL Server by default, which means your domain account used as a service account will require these permissions on the SQL Server.
WARNING! You should only change the SQL Server service account if you are comfortable working with the SQL Server and understand how SQL Server account permissions work. If you are not sure what type of permissions are required for your SQL Server service account in your environment, I would recommend you don’t change the service account and contact a qualified SQL Server consultant or expert. Also, keep in mind that restarting the SQL Server means you are making the SQL Server unavailable until the service is started again. Although this is usually a short period, it is best that you perform this step outside of normal business hours.
- Backup the SQL Server, including all databases.
- Go to the SQL Server Configuration Manager.
- Click SQL Server Services.
- In the right-hand pane double-click SQL Server (MSSQLSERVER).
- Click Browse and make sure the location is set to your domain, rather than your local SQL Server. If not, click Locations, select Entire Directory, and then click OK.
- Type the name of the domain account that you want to use, click Check Names and then click OK.
- Enter the password and then click OK.
- You will be prompted to restart the SQL Server service. Click Yes to restart the service.
- Your SQL Service account is now changed to a domain account.
Copyright © 2015 SeattlePro Enterprises, LLC. All rights reserved.