468: Cannot resolve the collation conflict
SQL ServerWas bedeutet das?
Bei einer Operation (JOIN, UNION, WHERE-Vergleich oder Gleichheit) trafen zwei String-Ausdrücke mit unterschiedlichen Collations aufeinander, und SQL Server konnte nicht auflösen, welche Collation anzuwenden ist. Die Operation wurde wegen der Mehrdeutigkeit abgebrochen.
Ursache
Die verglichenen Spalten sind mit unterschiedlichen Collations definiert; am häufigsten, wenn die Datenbank-Collation von der Server-/tempdb-Collation abweicht oder wenn Tabellen in Datenbanken mit unterschiedlichen Collations verknüpft werden. Das Verknüpfen temporärer Tabellen (tempdb-Collation) mit permanenten Tabellen ist ein klassischer Auslöser.
Lösung
Gib im Vergleich eine explizite Collation an: ... WHERE a.col = b.col COLLATE DATABASE_DEFAULT (oder einen konkreten Collation-Namen). Verwende COLLATE DATABASE_DEFAULT beim Anlegen von Spalten temporärer Tabellen. Gleiche als dauerhafte Lösung die betroffenen Spalten/Datenbanken an eine einheitliche Collation an. Treten Abweichungen zu tempdb häufig auf, ist DATABASE_DEFAULT die praktischste Lösung.
Weitere Einträge zu dieser Datenbank
- 3702Cannot drop database because it is currently in use
- 15138The database principal owns a schema in the database, and cannot be dropped
- 1934INSERT/UPDATE failed because the following SET options have incorrect settings
- 4864Bulk load data conversion error (Typkonflikt oder ungültiges Zeichen)
- 916The server principal is not able to access the database under the current security context