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

mta*_*lon 12 sql sql-server sql-server-2008

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

select AH_NAME1 from GGIMAIN.SYSADM.BW_AUFTR_KOPF
union
select AH_NAME1 from GGI2014.SYSADM.BW_AUFTR_KOPF
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

消息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
Run Code Online (Sandbox Code Playgroud)

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

有没有人对还有什么需要做什么有任何建议?

谢谢,

马特

小智 17

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
Run Code Online (Sandbox Code Playgroud)

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