Published on

October 22, 2017

Understanding SQL Server Startup Issues

As a blog writer who frequently receives emails from software vendors using SQL Server, I recently encountered an interesting issue that I would like to share with you. One particular vendor contacted me because their software installation was failing due to SQL Express not being installed properly. The error message they shared was “Wait on the Database Engine recovery handle failed.”

To better understand the situation, I requested the complete setup logs from the vendor. Upon reviewing the logs, I came across an exception that indicated a failure in starting the SQL service during the setup process. The error message in the log file pointed to a potential cause: “Failed allocate pages: FAIL_PAGE_ALLOCATION 1.”

Initially, I was puzzled as there didn’t seem to be any memory issues with the server. We attempted to resolve the problem by changing the max server memory and starting SQL in single user mode, but unfortunately, these attempts were unsuccessful. The same memory error persisted every time we tried to start the SQL service.

While investigating further, I noticed that the vendor was using the Express edition of SQL Server. This observation led me to examine the ERRORLOG file once again, where I stumbled upon an interesting detail. The log indicated the presence of two NUMA nodes on the machine.

Upon consulting Microsoft’s documentation, I discovered that the Express edition of SQL Server is limited to using only one CPU. This limitation explained the memory allocation issue we were facing. To address this problem, we needed to utilize trace flags as a workaround.

We added trace flags 8048 and 8015 as startup parameters, which resolved the issue. If you’re unfamiliar with enabling trace flags via startup parameters, you can refer to my earlier blog post on the same topic: “SQL SERVER – What is Trace Flag – An Introduction.”

Additionally, I came across a knowledge base article that didn’t specifically mention our exact issue but described similar symptoms and suggested using trace flags as a workaround.

In conclusion, understanding the limitations and specific requirements of different SQL Server editions is crucial for smooth installations and operations. By identifying the root cause of the startup issue and implementing the appropriate workaround, we were able to resolve the problem for the software vendor.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.