During several projects I noticed that for some reason the vCenter service would not start correctly. After a quick browse in “services.msc” and the eventlog I noticed that the vCenter service started before the SQL service. As you can imagine vCenter needs SQL to be up and running before it can actually start. I fixed it by creating a dependency. For some weird reason I never blogged this, but today I noticed this KB article that describes how to set up this dependency:
Adding a dependency to the VirtualCenter service so that it waits for SQL Express remedies this.
To create a service dependency:
- Click Start > Run.
- Type services.msc and press Enter.
- Locate the SQL Express instance for VirtualCenter. For example, SQL Server (SQLEXP_VIM).
- Open the SQL Express instance and note the Service Name. For example, MSSQL$SQLEXP_VIM .
- In the Run dialog, type Regedit.exe and press Enter. Browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vpxd .
- Double-click the DependOnService key and add the Service name using the name identified in step 4.
- Close Regedit .
- Go back to the Services Panel and open the SQL Server properties.
- On the Dependencies tab, verify the VMware VirtualCenter service is listed as depending on the SQL service instance.
As you can see the solution is fairly easy. Keep in mind that you need to be running the SQL Server locally on the vCenter server for this to work, especially for larger environments I wouldn’t advise running both on the same box. For SMB environments this should work just fine.