VMware support found the problem. I'm using the default SQL Express which default uses dynamic ports. When the vCenter server reboots the SQL port change. SSO should see this port change and reconfigure to use this port to connect to the database, but it don't.
To verify if you are affected:
Is SSO listing on port TCP/7444 - it should be:
netstat -a | find "7444"
See the SQL TCP/IP connection setting. Check the port under IP ALL dynamic ports (should be something like 49XXX).
Check the SSO connection properties:
C:\Program Files\VMware\Infrastructure\SSOServer\webapps\lookupservice\WEB-INF\classes\config.properties
If the ports dont match you may be affected...
Solution:
1) Stop SSO service
2) Change TCP dynamic port to static:
In Sql Server Configuration Manager > TCP/IP > IP ALL > remove port in Dynamic Ports and type 1433 in TCP port.
Restart the SQL express service.
2) Navigate to C:\Program Files\VMware\Infrastructure\SSOServer\utils
ssocli configure-riat -a configure-db --database-host hostname_of_vcenter --database-port 1433 -m SSO_Admin_Password
3) Edit the following text file to replace the port number with the new value in the line that begins with db.url=:
C:\Program Files\VMware\Infrastructure\SSOServer\webapps\lookupservice\WEB-INF\classes\config.properties
Reboot the server and see that vCenter service starts
Try:
netstat -a | find "7444"
Thank for the pointers all..
Regards