Saturday, February 23, 2013

Installing vSphere 5.1 vCenter Single Sign On service fails with: “Error 29120. Database schema already exists”

While I’m sure there are probably plenty of reasons that could cause the following error:

Error 29120. Database schema already exists

imageclip_image002[4]

I’ve encountered this error twice while installing vSphere 5.1 (Build 880146) and thought I’d write a blog post in case someone comes across the same situation as I did and as a reminder for myself in the future.  As most would know, the scripts used to set up the RSA database for the SSO service are the ones located in the following directory:

C:\VMware-VIMSetup-all-5.1.0-880471\Single Sign On\DBScripts\SSOServer\schema\mssql

clip_image002

The 2 scripts used to set up the RSA database on an existing database are:

rsaIMSLiteMSSQLSetupTablespaces.sql <— Use to create the actual database

rsaIMSLiteMSSQLSetupUsers.sql <— Use to create the user RSA_USER and RSA_DBA accounts and assign permissions to the database

Scenario #1 – Error is presented while installing the first vCenter SSO instance in the environment:

I ran into this error as I was installing the first vCenter SSO in the environment where I ran the scripts in the following order:

  1. rsaIMSLiteMSSQLSetupTablespaces.sql
  2. rsaIMSLiteMSSQLSetupUsers.sql
  3. rsaIMSLiteMSSQLCreateSchema.sql

… then proceeded with the SSO install.  What I ended up doing to get the install to continue without throwing that error was to manually go into SQL Server Management Studio, delete the RSA database, the users RSA_USER and RSA_DBA, then rerun the scripts in the same order.  What appears to have happened is that the installer runs the schema script so it is not necessary to manually run it while setting up the database.

Scenario #2 – Error is presented while installing the second vCenter to join an existing vCenter Single Sign On installation:

The same also goes for installing for a second vCenter node when you want to Join an existing vCenter Single Sign On installation and configure SSO for Multisite:

clip_image002[10]

clip_image002[14]

If you have accidentally executed the schema script, simply go into SQL Server Management Studio to delete the RSA database, the users RSA_USER and RSA_DBA, then rerun the following 2 scripts:

  1. rsaIMSLiteMSSQLSetupTablespaces.sql
  2. rsaIMSLiteMSSQLSetupUsers.sql

… to create the database and create the accounts with the proper permissions and DO NOT execute rsaIMSLiteMSSQLCreateSchema.sql.

1 comment:

Simon said...

Thanks, hit this multiple times. I wish they were more specific in the documentation about not running the Schema script during install.

My challenge is though - I hit the same error while trying to upgrade SSO from 5.1.0 to 5.1.0b, and now I don't want to delete the DB / schema as it has data in it.