Error Message:
Msg 1505, Level 16, State 1, Line 1
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'sys.sysschobjs' and the index name 'nc1'. The duplicate key value is (0, 1, Table_01).
Msg 5072, Level 16, State 1, Line 1
ALTER DATABASE failed. The default collation of database 'mydb_01' cannot be set to SQL_Latin1_General_CP1_CI_AS.
The statement has been terminated.
Memang error messagenya agak aneh dan terkesan nggak “orang awam” friendly. Untuk memunculkan error yang sama, kita bisa melakukan hal di bawah ini:
- CREATE DATABASE mydb_01 COLLATE Latin1_General_BIN
- CREATE TABLE table_01 (column1 int NOT NULL)
- CREATE TABLE Table_01 (column1 int NOT NULL)
- Kemudian kita test untuk merubah collation nya dengan:
ALTER DATABASE mydb_01 COLLATE SQL_Latin1_General_CP1_CI_AS
Pada kasus yang terjadi di server saya adalah, saya memiliki satu database backup yang memiliki collation yang berbeda dengan sql server yang telah saya sediakan. karena ini dedicated instance yang disediakan hanya untuk database ini, satu2nya cara tercepat adalah merubah collation di sisi SQL Server instance untuk mengikuti konfigurasi dari database yang akan di-restore, yaitu dengan cara me-reinstall instance tersebut:
CD INSTALLATION>start /wait setup.exe /qb INSTANCENAME=DB_01 REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=password SQLCOLLATION=SQL_Latin1_General_CP1_CI_AS
ref: http://technet.microsoft.com/en-us/library/ms179254.aspx