一尘不染

SQL Server 2008排序规则冲突-如何解决?

sql

为了简化POC,我使用字符类型的列进行以下查询:

select AH_NAME1 from GGIMAIN.SYSADM.BW_AUFTR_KOPF
union
select AH_NAME1 from GGI2014.SYSADM.BW_AUFTR_KOPF

我收到以下错误:

消息468,级别16,状态9,第2
行在UNION操作中无法解决“ SQL_Latin1_General_CP1_CI_AS”和“
Latin1_General_CS_AS”之间的排序规则冲突。

GGI2014确实是由归类创建的SQL_Latin1_General_CP1_CI_AS。这已在SMS中更改,实例也已在SMS中重新启动。

当我查看短信以及查询时:

select name, collation_name from sys.databases

所有迹象都表明,这两个GGIMAINGGI2014进行整理Latin1_General_CS_AS

有人对其他需要完成的工作有任何建议吗?

谢谢,

马特


阅读 197

收藏
2021-05-16

共1个答案

一尘不染

select AH_NAME1 COLLATE DATABASE_DEFAULT from GGIMAIN.SYSADM.BW_AUFTR_KOPF
union
select AH_NAME1 COLLATE DATABASE_DEFAULT from GGI2014.SYSADM.BW_AUFTR_KOPF

除非我没有记错,否则更改数据库的排序规则不会更改已经存在的对象的排序规则。只有新对象会受到影响

2021-05-16