Jump to content

DB Collation ändern MSSQL2000


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen

 

Ich habe ein Problem und zwar habe ich eine DB, die eine Falsche Collation hat.

 

Die DB konnte ich mit dem Befehl

ALTER DATABASE <DB-NAM> COLLATE SQL_Latin1_General_CP1_CI_AS ändern.

 

Ich brauche diese DB für eine Migration. Bei dieser Migration gibt es ein Tool die prüft ob die Collation richtig ist. Jetzt kommt die ganze Zeit dieser Fehler hoch:

 

System.Data.SqlClient.SqlException: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.

 

Server stack trace:

 

 

Exception rethrown at [0]:

at Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)

at OSoft.Services.Application.Migration.MigrationUnits.MigrationDiagnostic.CheckFactTableColumns(String& strTotalLog)

at OSoft.Services.Application.Migration.MigrationUnits.MigrationDiagnostic.CheckTablesIntegrity(String& strTotalLog)

at OSoft.Services.Application.Migration.MigrationUnits.MigrationDiagnostic.runStep(MigrationContext context, String appsetname, Hashtable parameter)</message>

<messageType>1</messageType>

 

Was ich bisher rausgefunden habe, dass in einer Spalte noch eine falsche Collation ist.

 

Jetzt meine Frage wie kann ich rausfinden welche Spalte die falsche Collation hat?

 

Als zusatz info. Das Migrationstool will eine MSSQL2000 DB auf eine MSSQL2005 DB migrieren.

 

Stefan Zumbühl

Link zu diesem Kommentar

Moin,

 

 

Hallo zusammen

 

Ich habe ein Problem und zwar habe ich eine DB, die eine Falsche Collation hat.

 

Die DB konnte ich mit dem Befehl

ALTER DATABASE <DB-NAM> COLLATE SQL_Latin1_General_CP1_CI_AS ändern.

 

Diese Anweisung ändert nicht die bestehenen Tabellen.

 

Jetzt meine Frage wie kann ich rausfinden welche Spalte die falsche Collation hat?

 

Im EnterpriseManager kannst Du Dir die Tabellen anschauen. In allen Text-Spalten wie z.B. varchar, nvachar etc. ist eine Sortierung angegeben.

Enweder dort oder per SQL ändern (für jede Tabelle/TextSpalte).

Beispiel für varchar(50) Spalte:

 

ALTER TABLE <Tabelle>

ALTER COLUMN <Spaltenname> varchar(50)

COLLATE SQL_Latin1_General_CP1_CI_AS

 

Weitere Informationen findest Du in der Onlinehilfe unter "COLLATE".

 

Gruß Kai

Link zu diesem Kommentar

Mir ist grade noch so, als ob bei SQL Server 2000 auch noch das Thema RebuildM ins Spiel kam...

SQL Server Forums - How to change default collate in SQL

Changing server collation

 

Aber wenn ich die Links richtig interpretiere und die grauen Zeiten in meinem Hirn Revue passieren lasse, musst du das nur machen, wenn du die Default Collation des Servers ändern willst.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...