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.
Steffen says
Hi Duncan, what if the database is not running locally (and maybe not even SQL…)? Are there any possibilities to configure something like a “dependency”?
GaryFlan says
Hey Duncan,
Excuse my ignorance but surely in the 8th step it should state to check on the Virtual Center service as opposed to the SQL instance? Pedantic I know …
Duncan says
Well you can check at either services, there are two options, “sytem components depending on” and “service depends on”.
Erik Bussink says
Thanks for the information.
I have also modified my Update Manager service (vmware-ufad-vci) to be dependent of MSSQLSERVER, and I have modified the VMwareOrchestrator to be dependent of the vpxd service.
🙂
SteveR55 says
I am having the same problem and the above suggestions have not corrected it.
Does anyone have any OTHER suggestions?
I am considering removing / reinstalling the VirtualCenter software.
Kikker46 says
SteveR55, exactly the same with me. Did the reinstall resolve the issue ?
Kind regards,
Kikker46
Jeff says
Hey, yah, i had a similar problem when my SQL admin decided to change the account without telling me. These are the steps i took.
First off, i got him to give me an account that will work within SQL. I don’t know how to do that really, but after that, it’s all within VMware.
1. Change the ODBC to reflect the appropriate username/password.
2. Change the registry entry in HKLM\software\vmware inc\Vmware virtualCenter\DB\2 to be the username that is required.
3. Log into your Virtual Center via via RDP. Find VPXD.exe and browse there by command line.
4. Run vpxd – p
5. Enter the new password twice.
6. Restart the Vmware services.
Hope this helps.
Mark says
Thanks so much for the blog post; I was able to use this to remove the dependency in place and was able to remove SQL Express.