SQL跨服務器查詢

SELECT a.*,b.*
FROM OPENROWSET('MSDASQL',
   'DRIVER={SQL Server};SERVER=119.254.245;UID=sa;PWD=abc123_kxr',
   Mall_Master.dbo.product) AS a,kxr_products b


--其中,tom爲遠程服務器名,stores 是本機數據庫pubs中的表
--需要注意的是若二個表中的記錄數目不同會導致某一個表產生完全重複的行,
--得到的記錄集的行數爲最長的那個表中的行數

如:
insert into dbo.Kqmx_200704
select *
 from openrowset('MSDASQL',
   'DRIVER={SQL Server};SERVER=192.168.1.253;UID=sa;PWD=',
   one.dbo.Kqmx_200704) 


 1、假設本地服務器192.168.0.1,遠端服務器192.168.0.2。  
  2、在192.168.0.2服務器上建立用戶:User,密碼:000  
  3、在192.168.0.1服務器上執行如下語句:  
  exec   sp_addlinkedserver     'srv_lnk','','SQLOLEDB','192.168.0.2'  
  exec   sp_addlinkedsrvlogin   'srv_lnk','false',null,'User','000'  
  go  
  3、在本地訪問192.168.0.2上的數據庫查詢示例如下:  
  select   *   from   srv_lnk.數據庫名.dbo.表名  
  4、以後不再使用時刪除鏈接服務器  
  exec   sp_dropserver   'srv_lnk','droplogins'  
  go

發佈了88 篇原創文章 · 獲贊 20 · 訪問量 49萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章