One of our clients has a Windows 2008 Hyper-V instance hosted by CrystalTech, and sometimes the parent Hyper-V server is restarted without the child VM's being shut down properly.
As a result, when the server comes back online, the SQL Server Express service in the VM does not start, even though it is set for Automatic. There are no error entries in the event log. If you reboot the server normally, SQL Server Express starts itself just fine.
Has anyone had this issue? Any tips for resolving it?
On a side note, does anyone have any nice scripts/methods for notifications to be emailed when the server shuts down unexpectedly?
On another side note, does anyone know any good hosts for Hyper-V VM's?
Do all other services start up?
I'm surprised that it isn't even trying to start. Have you checked for multiple instances? I have seen people think there is only 1 instance when there are more and they are checking the wrong one.
There isn't any fundamental reason why SQL express should not start. A VM crash is like a hard power off for SQL, and typically it restarts itself.
I might also look for a service dependency. I'd expect SQL Server to be at the root of the dependency chain, but it's possible it depends on something else.
Very strange. I think there is something strange going on here. If you have TechNet or MSDN, I'd burn a case with MS to solve this. There might be some strangeness with your environment or default Windows or SQL Server install that is causing this.
One thing you could do is set a Task scheduler item as noted above to start it up.
If you set a restart the service on failure, will that work?
I had the same problem. In my case I discovered that the service SQL Server Browser, which provides SQL Server connection information to client computers, had somehow been changed to Disabled. Changed its property to Automatic and everything started normally again.
What about configuring an app to run at startup that just checks for SQL running, and starts it if not present? You could even configure it to run under Task scheduler, periodically.