vCenter Health Status degraded

Just make a nice vCenter Health Status Problem my first post on my Blog.

I have moved my vCenter Database from a local installed SQL Express 2008 R2 Instance to a SQL 2008 R2 SP1 Instance. So nothing special about that, but after I reconnected to my vCenter and checked the Health Status and the Performance Overview Tab i got this Errors:

VMware vCenter Storage Monitoring Service – Service initialization failed

Perf Charts service experienced an internal error

 

After some research and analysing the log files from the VMware vCenter Storage Monitoring Service (C:\ProgramData\VMware\VMware VirtualCenter\Logs\sms.log), I found this:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Fehler beim Herstellen der Verbindung mit dem Host ‘VCENTER’, benannte Instanz ‘sqlexpress’. Fehler: ‘java.net.SocketTimeoutException: Receive timed out’.

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the host ‘VCENTER’, named instance ‘sqlexpress’ has failed. Error: ‘java.net.SocketTimeoutException: Receive timed out’.

It seemed that the vCenter tries to reach the old local SQL Express Instance. But how did vCenter get this configuration? In C:\ProgramData\VMware\VMware VirtualCenter you will find a file called vcdb.properties. When I opened the file I got this content:

# For Windows, just deduce the JDBC URL and user/password from the
# data source information in the VC registry

usevcdb=true
url=jdbc:sqlserver://VCENTER\\SQLEXPRESS;databaseName\=vCenter;integratedSecurity\=true
dbtype=mssql
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

To fix this problem I have to change the file content like this:

# For Windows, just deduce the JDBC URL and user/password from the
# data source information in the VC registry

usevcdb=true
url=jdbc:sqlserver://<NEW SQL SERVER DNS Name or FQDN>;databaseName\=vCenter
dbtype=mssql
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

After this change you have to restart the VMware VirtualCenter Management Webservices and reconnect to the vCenter.

After the Fix:

3 Responses

  1. Andy says:

    Manfred,

    Thanks very much for this information. Following some problems installing vCenter 5.5, we created a new SQL Server database (old DB was VCDB and new is VCDB55), changed the ODBC settings for vCenter and reinstalled vCenter. Everything seemed to work fine, but the SQL Server log files were filling with “Login failed for user ‘vpxuser’. Reason: Failed to open the explicitly database. [CLIENT: <client IP>}”. For whatever reason, the vcdb.properties file was still referencing VCDB. I edited the file and restarted services and no more errors. Thank you! Your post was just what I needed to solve the problem.

    Andy

  2. Krishnaraj says:

    Thank you , It was explained clearly and simply and got solved my problem. Thank you.

Leave a Reply