Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

The VirtualCenter Server service does not start after deploying or upgrading VirtualCenter Server with MS SQL 2005 (6565318)

Details

After deploying or upgrading VirtualCenter Server with MS SQL 2005, you may experience these symptoms:

  • The VirtualCenter Server service installs but does not start
  • The logs contain the error:
Failed to init tableDef: Column VER_ID does not exist in table VPX_VERSION. Database version may be incompatible.

Solution

This issue can occur if VirtualCenter Server was installed using a database login mapped to a user other than dbo. When the VirtualCenter login is the owner of the database, the login automatically maps to the dbo user. This configuration requires the VirtualCenter Server database login to be the owner of the database. A login with the db_owner role is not sufficient.  

NoteAlthough Microsoft has introduced the SQL Native Client ODBC driver with SQL Server 2005, the only supported ODBC driver for use with VirtualCenter Server 2.0.x is the SQL Server driver.

There are two ways to achieve the correct configuration:
  • Configure a fresh installation.
  • Repair a fresh installation that does not start.
To configure a fresh installation:
  1. Connect to your SQL Server 2005 server with SQL Server Management Studio.
  2. Create a database login (vclogin) for VirtualCenter Server to use.
  3. Create a new database (VCDB) and change the owner from <default> to vclogin.
  4. Observe that vclogin maps to the dbo database user for VCDB.
  5. Change the default database for vclogin from master to VCDB.
  6. Install VirtualCenter Server according to the product documentation.

To repair a fresh installation that does not start:

Note: If the database has already been created and VirtualCenter Server has already been installed, it is possible to modify the owner of the database with a system stored procedure. In the steps below, substitute <vcuser> and <vclogin> with your appropriate account names.

  1. Connect to your SQL Server 2005 server with SQL Server Management Studio.
  2. Go to the db_owner schema properties and change the owner from <vcuser> to dbo.
  3. Delete the <vcuser> database user (not the <vclogin> database login that maps to it).
  4. Open a new query window for the VirtualCenter database.
  5. Execute the command:

    EXEC sp_changedbowner @loginame = '<vclogin>', @map = 'true'
     
  6. Start the VirtualCenter Server service.
For details on supported databases and client driver versions, see the VirtualCenter Server Release Notes.
 
For information how to identify your SQL Server version and edition, see the Microsoft Knowledge Base article http://support.microsoft.com/kb/321185.
Note: The preceding link was correct as of December 17, 2009. If you find the link is broken, please provide feedback and a VMware employee will update the link.
 
 

Tags

virtualcenter-server-service vcenter-sql-database-schema vcenter-server-service-fails vcenter-database-owner

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 8 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (4000 or fewer characters)
  • 8 Ratings
Actions
KB: