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
SQL跨服務器查詢
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.