December 14, 2009 at 12:16 am
I have a SS2005 database whose collation is Latin1_General_BIN which I want to convert to Latin1_General_CI_AI. Thus I issue the command:
alter database MYDB collate Latin1_General_CI_AI
This would complain of some constraints which had problems. I deleted these constraints and re-issued the command and would finally get the followoing:
Msg 1505, Level 16, State 1, Line 2
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'sys.sysclsobjs' and the index name 'nc'. The duplicate key value is (dbo, 50).
Msg 5072, Level 16, State 1, Line 2
ALTER DATABASE failed. The default collation of database 'MYDB' cannot be set to Latin1_General_CI_AI.
The statement has been terminated.
This is obviously one of those hidden SS object stores. Does anyone know how I can find out what the real object is corresponding to this index? - so I can delete it, if possibile.
December 14, 2009 at 5:24 am
Well, after some hard looking around I found the cause. It appears that some nitwit dba at this site for some reason created a db schema called 'DBO'. While this presented no problem for BINary or CS collation, when moving to a CI collation this will create a duplicate since 'DBO' and 'dbo' will now be the same.
I wonder if Microsoft ever thought of the idea of separating the collation of the database object names from the contents of the database. Thus I'd like CI for object names and BINary for database contents. What do other people think?
Viewing 2 posts - 1 through 1 (of 1 total)
You must be logged in to reply to this topic. Login to reply