淺析如何實現SQL Server高效率跨服務器查詢
作者:張磊
在日常的數據庫管理中,很可能遇到跨地域服務器查詢的例子,本文將介紹如何實現SQL Server高效率跨服務器查詢。
51CTO數據庫頻道向您推薦《SQL Server入門到精通》和《數據庫之索引與查詢專題》,希望能對您有所幫助。
今日產品部要導批數據,但是需要連接查詢查詢的幾個表不在同一服務器上。所以我開始是這么干的:
1.查詢一臺服務器的數據,并導入本地Excel
2.查詢另一臺服務器的數據,并導入本地Excel
3.Excle導入數據庫,數據庫自帶了Excel導入數據庫的功能
4.連接查詢,OVER!
后來才知道產品部要全國50多個城市的數據,所以每個城市的我都要重復這樣干一遍。
這時才想起跨庫查詢了。
1.開通分布式查詢權限
- exec sp_configure 'show advanced options',1
- reconfigure
- exec sp_configure 'Ad Hoc Distributed Queries',1
- reconfigure
2.查詢
- select a.ProjCode as '樓盤編號',b.projname as '樓盤名稱',count(1) as '房源量' from
- openrowset( 'SQLOLEDB ', 'IP地址(服務器名)'; '用戶名'; '密碼',[數據庫名].[dbo].[表名]) a
- , openrowset( 'SQLOLEDB ', 'IP地址(服務器名)'; '用戶名'; '密碼',[數據庫名].[dbo].[表名]) b
- where a.ProjCode=b.newcode GROUP by a.ProjCode ,b.projname order by count(1) desc
3.然后換城市,只需要改IP、 庫名和表名了。
4.關閉
- exec sp_configure 'Ad Hoc Distributed Queries',0
- reconfigure
- exec sp_configure 'show advanced options',0
- reconfigure
責任編輯:彭凡
來源:
博客園