VMware Cloud Community
steverding
Contributor
Contributor

VC2.5 and db collation on the master db

I just tried to update to VC2.5 with a db on an MS-SQL2005 DB server. The collation of the SQL Server's masterdb is case sensitive. I created a vcenter database on this SQL Server with a case insensitive collation.

When i try to install, it exits with the following error :

the selected DSN points to a SQL Server instance or database with a case-sensitive collation,

which is unsupported by VirtualCenter. Please select a SQL Server instance(and database)

with a case insensitive collation.

After looking up the install log in the temp dir of my profile-folder i found the following errors :

VMware VirtualCenter-build-84767: 05/19/08 20:35:42 sql query: use "vcenter";

VMware VirtualCenter-build-84767: 05/19/08 20:35:42 Master DB case is : Latin1_General_CS_AS and len is 20

VMware VirtualCenter-build-84767: 05/19/08 20:35:42 SQLFetch: Master DB is Case-Sensitive

VMware VirtualCenter-build-84767: 05/19/08 20:35:42 Getting Property UILevel = 5

VMware VirtualCenter-build-84767: 05/19/08 20:35:42 Attempting to retrieve error message for error Id: 25129

VMware VirtualCenter-build-84767: 05/19/08 20:35:42 Msi Error table Query is <SELECT Message FROM Error WHERE Error=25129>

VMware VirtualCenter-build-84767: 05/19/08 20:35:42 Error message is The selected DSN points to a SQL Server instance or database with a case-sensitive collation, which is unsupported by VirtualCenter. Please select a SQL Server instance (and database) with a case-insensitive collation.

This tells me, that the master db has to be case insenstive. Is this true ? Why isn't it sufficient that the vcenter db is case insensitive ? I can't reinstall all my db's on the server to change the master db's collation.

0 Kudos
6 Replies
steverding
Contributor
Contributor

Nothing on this topic ?

0 Kudos
Dave_Mishchenko
Immortal
Immortal

I haven't seen any documentation that addresses this, but you can install a 2nd instance of SQL Server 2005 that uses a case insensitive collation.

Q. How does licensing work with the multi-instance feature in SQL Server 2005?

A. You can run multiple instances of SQL Server 2005 on a single computer. Multiple instances are used by organizations that have several applications running on a server but want them to run in isolation so that any problem in one instance will not affect the other instances. In SQL Server 2005, you can now run multiple instances with the Workgroup, Standard, and Enterprise editions when they are licensed server/CAL or on a per-processor basis.

steverding
Contributor
Contributor

Thanks for the workaround, but i will get problems with our DB people, when i ask for another SQL instance for my DB Smiley Wink

So maybe anybody can answer why the collation on the master db is neccessary. I understand why we need the case insensitive collation on the vcenter db itself, but why the master db ? Or is this a bug with a fix waiting to happen ?

0 Kudos
kernel007
Contributor
Contributor

I'm installing vCenter Server and I have this same issue. I've changed the "VCDB" database, but cannot change the system DB "MSDB" to the case-insensitive collation. Anyone have a fix?

0 Kudos
Argyle
Enthusiast
Enthusiast

The master DB requirement could come from the fact that all system databases use the same collation. In other words your tempDB is also case sensitive. This could be a problem if any vCenter SQL queries or stored procedures utilize string compares between its own tables and temporary tables.

On the other hand, this can be avoided on application level, if vCenter SQL code creates the temporary tables with a specified collation (one that match the vCenter user database) but I don't think the programming is on that detailed level yet.

The same goes for MSDB it will also be case sensitive if your master database is case sensitive. vCenter will try and create jobs in the MSDB database and it might not like case sensitive installations.

One could ask the question: What is the driver behind using a case sensitive collation on system databases on a SQL Server used for shared application databases to begin with? You will most likely be asking for trouble. The workaround is as mentioned in an earlier post to use an SQL instance that has case insensitive system databases. Or even reinstall the SQL Server if it is dedicated for vCenter.

0 Kudos
bunsoxa
Contributor
Contributor

Hi Sirs,

I need your help regarding the SQL DB collation. I have this issue recently when I tried to upgrade our VCenter Server from 5.5 UP3 to 6.0. Got this error

“Error: Incompatible source vCenter Server database version. Resolution: Make sure your database version meets vCenter Server database requirements.”.

I already checked the supported database compatibility in Vmware Product interoperability matrix and it was fully supported. I also checked the database compatibility level and was set to SQL Server 2008(100)

I am using Microsoft SQL Server Standard Edition (64-bit) 10.50.1600.1

Just noticed that the database collation and it was set to  Latin1_General_CI_AS. I saw from other forums and topics that they are using SQL_Latin1_General_CP1_CI_AS. The question is, is there any effect when using Latin1_General_CI_AS vs SQL_Latin1_General_CP1_CI_AS? that causes the vcenter upgrade to fail?

SQL server Version installed:

Microsoft SQL Server Standard Edition (64-bit)

10.50.1600.1


Here is the log from vminst.log

sInstUtil-3343021| I: ParsePreUpgradeOutput: Export disk req: 0 MB, Import disk req: 0 MB.
2016-03-13 01:54:43.682+08:00| vcsInstUtil-3343021| I: PitCA_MessageBox: Displaying message: “Error: Incompatible source vCenter Server database version.
Resolution: Make sure your database version meets vCenter Server database requirements.”

I am using Microsoft SQL Server Standard Edition (64-bit) 10.50.1600.1.

-John

0 Kudos