SQL Server查询
问题描述:
我有2个远程数据库作为查询的一部分SQL Server查询
select p.ID,p.ProjectCode_VC,p.Name_VC,v.*
FROM [serverB].Projects.dbo.Projects_T p
LEFT JOIN [serverA].SOCON.dbo.vw_PROJECT v on
p.ProjectCode_VC = v.PROJ_CODE
的问题是,serverA的使用整理Latin1_General_BIN
和ServerB使用Latin1_General_CP1_CP_AS
和查询拒绝运行。
这两个服务器都是SQL 2000服务器。两个数据库都设置了石头,因此不幸的是我无法更改它们的排序规则。
有无论如何你们知道如何得到这个工作?
更新:我找到了一种替代解决方案。在链接服务器属性中,您可以在那里指定链接服务器的排序规则。
答
刚整理添加到您的选择,如:
select
p.ID,
p.ProjectCode_VC,
p.Name_VC,
v.*
FROM
[serverB].Projects.dbo.Projects_T p
LEFT JOIN [serverA].SOCON.dbo.vw_PROJECT v on p.ProjectCode_VC
collate Latin1_General_Bin = v.PROJ_CODE
或周围的其他方法。所以将其中一个归类转换为另一个归类。
答
或者你可以用这样一个更通用的查询:
select * from profile, userinfo
where profile.custid collate database_default = userinfo.custid collate database_default
如果两个服务器具有相同的排序规则,可以设置链接服务器上的排序规则的兼容性为“true”,以提高性能。 – super9 2009-07-10 12:16:07