468: Cannot resolve the collation conflict
SQL ServerЧто это значит?
В операции (JOIN, UNION, сравнение в WHERE или проверка равенства) встретились два строковых выражения с разными правилами сортировки (collation), и SQL Server не смог определить, какой collation применить. Операция отменена из-за неоднозначности.
Почему возникает?
Сравниваемые столбцы определены с разными collation; чаще всего встречается, когда collation базы данных отличается от collation сервера/tempdb или когда соединяются таблицы из баз данных с разными collation. Классический триггер — соединение временных таблиц (collation tempdb) с постоянными таблицами.
Как исправить
Укажите явный collation в сравнении: ... WHERE a.col = b.col COLLATE DATABASE_DEFAULT (или конкретное имя collation). Используйте COLLATE DATABASE_DEFAULT при создании столбцов временных таблиц. Для постоянного решения приведите затронутые столбцы/базы данных к единому согласованному collation. Если несоответствия с tempdb часты, DATABASE_DEFAULT — наиболее практичное решение.
Ещё по этой СУБД
- 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 (type mismatch or invalid character)
- 916The server principal is not able to access the database under the current security context