我遇到了这个错误,我不知道如何修复它
无法解决“Arabic_CI_AS”与之间的排序规则冲突 “SQL_Latin1_General_CP1_CI_AS”中的等于操作。
注意:我已经从数据库选项中更改了排序规则 - >整理
我将它从“Arabic_CI_AS”更改为“SQL_Latin1_General_CP1_CI_AS”
我仍然得到同样的错误!!
有什么建议可以解决这个问题吗?
答案 0 :(得分:5)
只有在未指定排序规则的情况下创建NEW对象时,才应用数据库排序规则。
当您将其从“Arabic_CI_AS”更改为“SQL_Latin1_General_CP1_CI_AS”时,数据库中的所有文本列仍会进行整理Arabic_CI_AS
。您可以使用
select object_name(object_id), name, collation_name
from sys.columns
where collation_name like '%Arabic%'
此问题的补丁是将COLLATE DATABASE_DEFAULT
置于比较之下,例如
SELECT *
FROM TBL1
INNER JOIN TBL2 on X = Y COLLATE DATABASE_DEFAULT
或
SELECT *
FROM TBL1
WHERE X = Y COLLATE DATABASE_DEFAULT
等
this site上有一个脚本尝试更改整个数据库的排序规则,但