This happens when the virtualcenter service tries to start before some of its dependencies are up and running. Typically due to SQL Server not being in a running state when it tries to startup.
If your in windows 2008 you can choose the service to start automatically (delayed), and most of the time this will resolve the problem. If you want to do it properly, and in a more clean way…. you’ll need to add SQL as a dependency.
Open regedit and go to the following key; (find the sevice name that virtual cetner is running under – vpxd in this case)
Open and modify the “Depend on Service” Multi-String and append the following (specific to my environment, but Adam for vmware and sqlserver)
So my DependOnService Multi-String now reads;
On next reboot the virtual center service will wait for its dependencies to start before it tries to start itself.