Troubleshooting

Upgrading windows vCenter 5.5 to 6.0 fails at database validation pre-checks with the “Error: Internal error occurs during VMware vCenter Server Database pre-upgrade checks”

Today I managed to troubleshoot a interesting case with one of the customer who was having certain issues while upgrading his vCenter environment from 5.5 to 6.0  as It was failing at the database pre-checks.

Once SSO credentials was provided when validation was in progress it would end up with an error “Internal error occurs during VMware vCenter Server Database pre-upgrade checks

 

When we cancelled the upgrade we got a vCS Upgrade support bundle generated and I started investigating the cause of the failure.

Since precheck was very clear with the message I had to validate. VCS upgrade bundle would be similar to below naming convection.

VMware-VCS-logs-20161123110047.zip——-Extract this file and access the VCSUpgrade folder.

 

upgrade1

 

I could see couple of logs file related to VCDB.we would validate the logs with the naming convention CollectRequirements_com.vmware.vcdb_YYYY_MM_DD_T_M.log. When I was referring the latest logs it was providing the below mentioned error.

 

INFO vcdb Configuring log folder paths in C:\Users\nkhan\AppData\Local\Temp\vcsUpgrade

INFO vcdb Retrieving DB type…

INFO transport.local Key “SOFTWARE\ODBC\ODBC.INI\VMware Virtual Center” is unicode, thus try to encode it to default file system encoding “mbcs”, which would be successfully used by Windows box when reading/writing windows registries

ERROR transport.local NOT FOUND: Cannot read registry. Error: [Error 2] The system cannot find the file specified

ERROR __main__ Upgrade Phase ‘vcdb:CollectRequirements’ failed. Exception:

Traceback (most recent call last):

 

Just make a note, above mentioned error is a generic error. Hence does not co-relate to the actual cause. So I went ahead and verified the first log file for VCDB i.e CollectRequirements_com.vmware.vcdb_2016_11_23_10_10.log  in this case and I manage to find the below mentioned error.

 

vcdb Configuring log folder paths in C:\Users\rshenoy\AppData\Local\Temp\vcsUpgrade

INFO vcdb Retrieving DB type…

INFO transport.local Key “SOFTWARE\ODBC\ODBC.INI\VMware Virtual Center” is unicode, thus try to encode it to default file system encoding “mbcs”, which would be successfully used by Windows box when reading/writing windows registries

ERROR vcdb Unsupported database driver: C:\Windows\system32\sqlncli.dll

ERROR __main__ Upgrade Phase ‘vcdb:CollectRequirements’ failed. Exception: Unsupported database driver: C:\Windows\system32\sqlncli.dll

Traceback (most recent call last):

 

So error message was very clear to me hence validated the ODBC configuration and found that customer was using the driver ODBC Driver 11 for SQL Server which is unsupported as we only support SQL Native Client 10.0 or later.

 

http://www.microsoft.com/en-us/download/details.aspx?id=29065

Above mentioned link will provide you a tab installed instructions.

upgrade2

 

 

Expand it search for the keyword ‘native’. Based on the OS bit download the underlying driver.

upgrade3

Once driver has been installed in the vCenter server make a note of the DSN,Server name and credentials before removing the old ODBC connection.

Remove and configure the ODBC connection with SQL native client 10.0 or later. Restart the vCenter services to verify if vCenter is properly communicating to database if all goes good proceed with the upgrade.

 

In my scenario upgrade was completed successfully without any further roadblocks

Note: Always take a snapshot and backup of vCenter database before proceeding with any upgrade.

 

Hope this article was helpful. Watch out for more.

Ritesh Shenoy
Hey, My name is Ritesh Shenoy working as a Senior Consultant for SAP. The goal of this blog is to contribute towards VMware community and make ones life better with necessary content in place!

Leave a Response