使用2个版本的SQL Server进行排序规则冲突

时间:2013-11-24 09:37:17

标签: sql sql-server sql-server-2008 collation

我正在研究SQL Server的两个版本,即2005和2008 R2。

从2008 R2开始,我创建了一个链接服务器,它将连接到较旧的SQL Server 2005实例。

我的服务器上有一个表(2008),如下所示

成员

id                  name     
0002320         AOne Enterprises Motihari
0002321         AOne Enterprises Siliguri

驻留在远程服务器上的另一个表包含每个代理的活动

id  member_code agent   rr_no   txn_date    amount

我在

下面发了一个查询
select top 5 * 
from [192.168.6.3].sync.dbo.agents_log
where member_code IN 
      (select id from members where name like 'AOne Enterprises%')

我试图通过分布式数据库中的国家/地区提取AOne Enterprises的所有活动日志,因此我需要创建一个链接服务器。

我收到了这个错误:

  

Msg 468,Level 16,State 9,Line 1
  无法在等于操作的情况下解决“SQL_Latin1_General_CP1_CI_AS”和“Latin1_General_BIN”之间的排序规则冲突。

1 个答案:

答案 0 :(得分:16)

不完全确定您需要什么,但如果它只能在下面进行整理问题

SELECT TOP 5 * 
FROM   [192.168.6.3].sync.dbo.agents_log
WHERE  member_code COLLATE SQL_Latin1_General_CP1_CI_AS 
IN (SELECT id
    FROM   members
    WHERE  NAME LIKE 'AOne Enterprises%')

我刚刚添加 COLLATE SQL_Latin1_General_CP1_CI_AS ,也许还可以