浅析如何实现SQL Server高效率跨服务器查询

今日产品部要导批数据,但是需要连接查询查询的几个表不在同一服务器上。所以我开始是这么干的:

1.查询一台服务器的数据,并导入本地Excel

2.查询另一台服务器的数据,并导入本地Excel

3.Excle导入数据库,数据库自带了Excel导入数据库的功能

导入数据库

4.连接查询,OVER!

后来才知道产品部要全国50多个城市的数据,所以每个城市的我都要重复这样干一遍。

这时才想起跨库查询了。

1.开通分布式查询权限

  1. exec sp_configure 'show advanced options',1   
  2. reconfigure  
  3. exec sp_configure 'Ad Hoc Distributed Queries',1   
  4. reconfigure 

2.查询

  1. select a.ProjCode as '楼盘编号',b.projname as '楼盘名称',count(1) as '房源量' from   
  2.  openrowset( 'SQLOLEDB ', 'IP地址(服务器名)'; '用户名'; '密码',[数据库名].[dbo].[表名]) a  
  3.  , openrowset( 'SQLOLEDB ', 'IP地址(服务器名)'; '用户名'; '密码',[数据库名].[dbo].[表名]) b  
  4.  where a.ProjCode=b.newcode GROUP by   a.ProjCode ,b.projname order by  count(1) desc 

3.然后换城市,只需要改IP、 库名和表名了。

4.关闭

  1. exec sp_configure 'Ad Hoc Distributed Queries',0   
  2. reconfigure   
  3. exec sp_configure 'show advanced options',0   
  4. reconfigure
原文地址:https://www.cnblogs.com/shihao/p/2160233.html