The Situation

I always love the day after I push Software Updates to servers.  It gives me an opportunity to hone my troubleshooting skills a bit.  This morning when doing the usual putting out fires routine, I discovered that the VMware VirtualCenter Server service was not running.  So I rebooted the machine and still the service would not run.  So I figured that maybe the database is not up and running yet, when the vCenter service is trying to run.

I consider this because I was able to run the service manually after the server had completely come up.  So I figured I should put in a dependency for the VMware VirtualCenter Server service to run after the SQLExpress service is up.  Please note that SQLExpress is on the same virtual machine as the vCenter Server installation.

How to Create the Dependency

  1. Open the Services MMC by doing Start > Run > and type services.msc or any other method that you prefer.
  2. Find the SQL Server (<instance_name>) service and double-click to launch the properties window.  I have the default installation so my instance name is SQLEXP_VIM.
  3. Take note of the Service name by right-clicking on it copying it to the clipboard.  You will need this information in a little bit.
  4. Click Start > Run > and type regedit to launch the Registry Editor.
  5. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vpxd.
  6. In the right-pane double-click the DependOnService value and paste in the name of the SQL Server service from the clipboard.  Click the OK button when finished.

Reboot the computer and now the vCenter Server service will run after the SQL Server service has launched.

A Few Screenshots

VirtualCenter Server SQL Express Service Name

SQLExpress Default Service Name

Set vCenter Service Dependency on SQL Server Service

vCenter Service Dependent on SQL Server