我遇到了这个错误,但不知道该如何解决:
在等于操作中无法解析“Arabic_CI_AS”和“SQL_Latin1_General_CP1_CI_AS”之间的排序冲突。
注:我已经从数据库选项更改了排序规则 -> 排序规则。
我将它从“Arabic_CI_AS”更改为“SQL_Latin1_General_CP1_CI_AS”。
但我仍然得到相同的错误!!
有什么建议可以解决这个问题吗?
我遇到了这个错误,但不知道该如何解决:
在等于操作中无法解析“Arabic_CI_AS”和“SQL_Latin1_General_CP1_CI_AS”之间的排序冲突。
注:我已经从数据库选项更改了排序规则 -> 排序规则。
我将它从“Arabic_CI_AS”更改为“SQL_Latin1_General_CP1_CI_AS”。
但我仍然得到相同的错误!!
有什么建议可以解决这个问题吗?
数据库排序规则仅适用于在未指定排序规则的情况下创建新对象。
当您将其从“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
有一个脚本在此网站上,试图跨整个数据库更改排序规则,但是:
select databasepropertyex('master','collation')
。可能是服务器(和tempdb)为阿拉伯文,而数据库为拉丁文。 - RichardTheKiwicollate database_default
。 - RichardTheKiwi