VMware
 

Knowledge Base

Search the Knowledge Base:

Products:
Search In:
 

Requirements for Running VirtualCenter Server 2.0.x with MS SQL 2005

Details

VMware has tested and certified Microsoft SQL Server 2005 SP1 for use with VirtualCenter Server 2.0.1 and SQL Server 2005 SP2 (32- and 64-bit) for use with VirtualCenter 2.0.2. 
 
Important: 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.

Although 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.

Solution

If the VirtualCenter Server service installs but does not start and logs the following error, this is a symptom that the SQL Server 2005 database is not configured correctly:

Failed to init tableDef: Column VER_ID does not exist in table VPX_VERSION. Database version may be incompatible.

This condition 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.

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:

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 this command:
    EXEC sp_changedbowner @loginame = '<vclogin>', @map = 'true'
  6. Start the VirtualCenter Server service.
Reference the VirtualCenter Server Release Notes at http://www.vmware.com/support/pubs/vi_pubs.html for details on supported databases and client driver versions.
 
For information how to identify your SQL Server version and edition, reference the Microsoft Knowlege Base article 321185 at http://support.microsoft.com/kb/321185.
 

Feedback

Rating: 1 - Lowest 2 3 4 5 - Highest (2 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? (2000 or fewer characters)
Submit
Rating: 1 - Lowest 2 3 4 5 - Highest (2 Ratings)   
Actions