How to migrate a vCenter Server SQL database to a new server

Here is a short “how-to” if you want to move your vCenter Server 5.5/6.0 and Update Manager SQL database to a new SQL database server.

There is a KB article from VMware covering this topic (KB 7960893 – Moving the VMware vCenter Server 4.x/5.x/6.0.x SQL database).

In this blogpost I have added some sidenotes from my experience and you can find some screenshots, too.

Preparation:

Migration:

1. Stop Services:

Stop the following services on your “old” vCenter Database Server:

  • VMware Update Manager
  • VMware VirtualCenter Server
  • VMware VirtualCenter Management Webservices

2. Export SQL Agent rollup jobs:

vCenter Server offloads some maintenance tasks to the database.

If you move your vCenter database to a new server you have to take care that you recreate these jobs. The easiest way is to export them from your “old” server and import them to the new one.

Export the following jobs (Microsoft SQL Server Management Studio):

SQL_Jobs

To export them into a .sql file just right click the jobname, select “Script Job as” – “Create to” and “New Query Editor Window”:

export_jobs

Right click the SQLQuery.sql and select “Save SQLQuery.sql” to save the file:

save_job

Repeat this for every job and remember the folder where you save the .sql files.

3. Perform a database backup:

Now you have to backup your vCenter Server database and your Update Manager database:

  • open your MS SQL Server Management Studio
  • right click the database you want to backup
  • select “Tasks” – “Back up…”
  • select a destination and wait until the backup has successfully finished

4. Copy data to the new DB Server:

Copy the database backup files and the SQL Agent rollup jobs to the new database server…

5. Database restore:

  • open the MS SQL Server Management Studio and connect to your new DB Server
  • right click “Database” and select “Restore Database…”
  • select “Device” and enter the path to your .bak file
  • click OK to restore the database
  • perform these steps for your Update Manager DB and your vCenter DB

6. Import SQL Agent rollup jobs:

  • doubleclick the .sql files and execute them
  • check if all jobs are available (see screenshot Step 2)

7. Update the vcdb.properties file:

  • connect to your vCenter Server
  • update the vcdb.properties file with the new SQL server

You can find the vcdb.properties file at the following location:

vCenter Server 5.x:

Windows 2008 – C:\ProgramData\VMware\VMware VirtualCenter
other Windows versions – C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\

vCenter Server 6.x:

C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx

8. Update the ODBC connections:

The last task is to update the ODBC System Data Sources at your vCenter Server:

32bit ODBC: C:\Windows\System32\odbcad32.exe
64bit ODBC: C:\Windows\SysWOW64\odbcad32.exe

  • select “System DSN”
  • select the System Data Source (eg. for vCenter)
  • click “Configure”
  • change the SQL Server name
  • follow the wizzard (eg. enter the password to connect to the SQL server)
  • test the Connection
  • repeat these steps for both ODBC connections (Update Manager and vCenter Server)

9. Start the Services:

Now it is time to start your VMware VirtualCenter Server and VMware Update Manager services.

If you made no mistakes your vCenter should now access the databases on your new MS SQL Server.

6 Comments

  1. Jose Manuel Hernandez

    Excellent article!

    Very usefull!

  2. Michael

    Perfect! Worked a charm – especially seeing the VMWare KB site is offline at the moment!

  3. Troy

    The only suggestion I would make is to make sure to create the logins to the databases on the new server. Either migrate them over or create them.

  4. Fel

    Hello, my procedure does not work, do not raise me vCenter Server services 6 vcdb.properties change the file and obdc vcenter 64-bit server to the new server database. the new server is SQL 2014, but I can check the error that throws me is this error

    Windows Could not start the VMware VirtualCenter Server on Local Computer. For more information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error code 2.

    thanks,

  5. Fredrik

    I had the same error. “Windows Could not start the VMware VirtualCenter Server on Local Computer. For more information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error code 2.” I solved it by reentering the SQL password by running vpxd.exe -p in CMD

  6. jawed abbasi

    what about the sso database?
    In my case i am sql2005 i will upgrade the DB to sql 2008 on a different host and connect existing VC to the same data on new sql2008 server.
    I dont see anything in ur post about updat manager DB or SSO DB

Leave a Comment

Your email address will not be published. Required fields are marked *