【发布时间】:2018-09-20 06:27:48
【问题描述】:
我正在尝试在查询中连接来自不同数据库的两个表。它们有不同的排序规则类型。主数据库具有排序规则:SQL_Latin1_General_CP1_CS_AS
我要加入的数据库具有排序规则:SQL_Latin1_General_CP1_CI_AS
当我尝试在没有排序规则的情况下运行时出现此错误(显然):
无法解决之间的排序规则冲突 “SQL_Latin1_General_CP1_CS_AS”和“SQL_Latin1_General_CP1_CI_AS”在 等于运算。
我对整理不熟悉,所以我不知道该怎么办。如果我从查询中删除第二个数据库的各个方面,它会立即运行。一旦我开始使用连接,查询就会运行一个小时以上,但没有任何结果。
如果您需要更多上下文,请告诉我。
【问题讨论】:
-
你能显示你正在使用的两个不同的查询吗?
-
您是否要以区分大小写的方式加入?
-
更改列的排序规则将使查询不可搜索;因此,您拥有的任何索引都将在该列上被忽略。这很可能是您的查询变得如此缓慢的原因。
-
@Larnu 在做了一点谷歌搜索之后,这就是我发现的。有没有解决这个问题的好方法?不幸的是,我无法真正改变表格。
-
@EzequielLópezPetrucci 我不在乎大小写,因为它的价值!
标签: sql sql-server sql-server-2012 collation collate