468: Cannot resolve the collation conflict
SQL ServerO que significa?
Em uma operação (JOIN, UNION, comparação no WHERE ou igualdade), duas expressões de string com collations diferentes se encontraram e o SQL Server não conseguiu decidir qual collation aplicar. A operação foi cancelada devido à ambiguidade.
Por que acontece?
As colunas comparadas são definidas com collations diferentes; ocorre com mais frequência quando a collation do banco difere da collation do servidor/tempdb, ou quando são unidas tabelas de bancos com collations diferentes. Unir tabelas temporárias (collation do tempdb) a tabelas permanentes é um gatilho clássico.
Como resolver
Especifique uma collation explícita na comparação: ... WHERE a.col = b.col COLLATE DATABASE_DEFAULT (ou um nome de collation concreto). Use COLLATE DATABASE_DEFAULT ao criar colunas de tabelas temporárias. Como solução permanente, alinhe as colunas/bancos afetados a uma única collation consistente. Se as divergências com o tempdb forem frequentes, DATABASE_DEFAULT é a correção mais prática.
Mais entradas deste banco
- 3702Cannot drop database because it is currently in use (não é possível remover o banco porque ele está em uso)
- 15138The database principal owns a schema in the database, and cannot be dropped (o principal é dono de um schema no banco e não pode ser removido)
- 1934INSERT/UPDATE failed because the following SET options have incorrect settings (INSERT/UPDATE falhou porque estas opções SET têm valores incorretos)
- 4864Bulk load data conversion error (type mismatch or invalid character) (erro de conversão de dados na carga em massa (tipo incompatível ou caractere inválido))
- 916The server principal is not able to access the database under the current security context (o principal de servidor não consegue acessar o banco no contexto de segurança atual)