无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CS_AS_WS" 之间的排序规则冲突。

时间:2022-10-02 00:47:30
数据库安装时,已经排序设置成Chinese_PRC_CS_AS_WS了,但是有从其他地方导入的一些数据,
做一些查询时出现:

无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CS_AS_WS" 之间的排序规则冲突。

1、不方便改程序,程序是合作伙伴提供的,他们的源代码也不可能给我,且他们也不太可能大面积的更改源程序。

2、只好在修改数据库结构了,
ALTER TABLE TABLEAA  ALTER COLUMN FILEDNAME  varchar (4) COLLATE Chinese_PRC_CS_AS_WS
sql报错:
由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN FILEDNAME  失败。

3、尝试执行exec MASTER..sp_msforeachtable 'alter table ? nocheck CONSTRAINT all'  ,没有效果

请问各位还有高招吗?谢谢。

4 个解决方案

#1


ALTER TABLE  可以改吧,错误是另一个问题

#2


字符规则不一样,是比较会出错

#3


放弃了,重新建库了,之前用的是sql生成脚本的工具,没选导出排序属性,导致之前建库失败。

#4


要修改的地方是主键,也是其他表的外键,所以sqlserver不让修改。并且我要改所有表的所有属性。只好放弃了。

#1


ALTER TABLE  可以改吧,错误是另一个问题

#2


字符规则不一样,是比较会出错

#3


放弃了,重新建库了,之前用的是sql生成脚本的工具,没选导出排序属性,导致之前建库失败。

#4


要修改的地方是主键,也是其他表的外键,所以sqlserver不让修改。并且我要改所有表的所有属性。只好放弃了。