sql分布式查詢

2021-08-30 23:55:14 字數 2490 閱讀 2545

--建立鏈結伺服器 

exec sp_addlinkedserver 'itsv' , '' , 'sqloledb' , '192.168.0.88'

exec sp_addlinkedsrvlogin 'itsv' , 'false' , null , 'user_emenudata2fortesting' , 'sa'

exec sp_addlinkedserver 'itsv1' , '' , 'sqloledb' , '192.168.0.207'

exec sp_addlinkedsrvlogin 'itsv1' , 'false' , null , 'sa' , '123'

--查詢示例

select * from itsv.emenudata2fortesting.dbo.powerlist where nodelevel like 'x%'

--匯入示例

insert into itsv1.emenudata2.dbo.powerlist select * from itsv.emenudata2fortesting.dbo.powerlist where nodelevel like 'x%'

--以後不再使用時刪除鏈結伺服器

exec sp_dropserver 'itsv' , 'droplogins'

exec sp_dropserver 'itsv1' , 'droplogins'

其他

--建立鏈結伺服器 

exec sp_addlinkedserver 'itsv' , '' , 'sqloledb' , '遠端伺服器名或ip位址'

exec sp_addlinkedsrvlogin 'itsv' , 'false' , null , '使用者名稱' , '密碼'

--查詢示例

select * from itsv.資料庫名.dbo.表名

--匯入示例

select * into 表 from itsv.資料庫名.dbo.表名

--以後不再使用時刪除鏈結伺服器

exec sp_dropserver 'itsv' , 'droplogins'

--連線遠端/區域網資料(openrowset/openquery/opendatasource)

--1、openrowset

--查詢示例

select * from openrowset('sqloledb' , 'sql伺服器名' ; '使用者名稱' ; '密碼' , 資料庫名.dbo.表名)

--生成本地表

select * into 表 from openrowset('sqloledb' , 'sql伺服器名' ; '使用者名稱' ; '密碼' , 資料庫名.dbo.表名)

--把本地表匯入遠端表

insert openrowset( 'sqloledb' , 'sql伺服器名' ; '使用者名稱' ; '密碼' , 資料庫名.dbo.表名)

select *from 本地表

--更新本地表

update b

set b.列a=a.列a

from openrowset('sqloledb' , 'sql伺服器名' ; '使用者名稱' ; '密碼' , 資料庫名.dbo.表名) as a inner join 本地表 b

on a.column1 = b.column1

--openquery用法需要建立乙個連線

--首先建立乙個連線建立鏈結伺服器

exec sp_addlinkedserver 'itsv' , '' , 'sqloledb' , '遠端伺服器名或ip位址'

--查詢

select *

from openquery(itsv , 'select * from 資料庫.dbo.表名')

--把本地表匯入遠端表

insert openquery(itsv , 'select * from 資料庫.dbo.表名')

select * from 本地表

--更新本地表

update b

set b.列b=a.列b

from openquery(itsv , 'select * from 資料庫.dbo.表名') as a

inner join 本地表 b on a.列a=b.列a

--3、opendatasource/openrowset

select *

from opendatasource('sqloledb' , 'data source=ip/servername ; user id=登陸名 ; password=密碼').test.dbo.roy_ta

--把本地表匯入遠端表

insert opendatasource('sqloledb' , 'data source=ip/servername ; user id=登陸名 ; password=密碼').資料庫.dbo.表名

select * from 本地表

sql 分布式查詢

遠端鏈結伺服器機器名 roy 例項名 roy sql2005de 登陸名 sa 密碼 test2005 建立鏈結伺服器 exec master.dbo.sp addlinkedserver server n roy lnk srvproduct n provider n sqloledb datas...

SQL分布式查詢

測試檔案內容 e module test.xls job desc job id max lvl min lvl 記錄一 1.0 11.0 11.0 記錄二 2.0 22.0 22.0 記錄三 3.0 33.0 33.0 記錄四 4.0 44.0 44.0 e module temp.mdb檔案jo...

分布式查詢

sql server所謂的分布式查詢 distributed query 是能夠訪問存放在同一部計算機或不同計算機上的sql server 或不同種類的資料來源,從概念上來說分布式查詢與普通查詢區別 它需要連線多個mssql伺服器也就是具有多了資料來源.實現在伺服器跨域或跨伺服器訪問.而這些查詢是否...