跨服务器跨库跨表查询,并合并结果集

今天遇到客户一个需求,就是接口获取结果的时候,需要去2个库里取结果,而且会存在项目结果的编码重号,项目名称不一致的情况,最后讨论来讨论去决定用合并结果集视图在一个数据连接内,给不同的结果来源的编码加前缀来解决。 接下来就遇到需要跨服务器跨库跨表合并结果集的问题,下面是sql处理方法,记录一下以免后期忘记了。

--添加需要与本地进行联合查询的服务器作为链接服务器
EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB','192.168.1.102\sql2008r2' 
GO
--添加连接服务器的链接登录帐号 默认为windows登录 下面的是SQL验证方式
EXEC sp_addlinkedsrvlogin 'LinkName'
go
EXEC sp_addlinkedsrvlogin 'LinkName','false',null,'sa','PASSWORD'
go

--上面的链接服务创建完后,就直接用就可以了,不用重新创建
--联合查询并合并
SELECT * FROM LinkName.db1.dbo.tablename1 union all
select * from db2.dbo.tablename2

 

go

 

posted @ 2014-04-10 15:33  艾康享源  阅读(901)  评论(0编辑  收藏  举报