SQL Server 跨伺服器操作

2021-06-03 02:20:57 字數 2684 閱讀 2535

不同伺服器資料庫之間的資料操作 --

建立鏈結伺服器

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.表名)

asa

inner

join

本地表 b

ona.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.表名')

asa

inner

join

本地表 b

ona.列a

=b.列a

前置條件:exec sp_configure 'show advanced options',1

reconfigure

exec sp_configure 'ad hoc distributed queries',1

reconfigure

後置條件:exec sp_configure 'ad hoc distributed queries',0

reconfigure

exec sp_configure 'show advanced options',0

reconfigure

--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 Server 跨伺服器操作

包含訪問 ole db 資料來源中的遠端資料所需的全部連線資訊。當訪問鏈結伺服器中的表時,這種方法是一種替代方法,並且是一種使用 ole db 連線並訪問遠端資料的一次性的 特殊的方法。可以在查詢的 from 子句中像引用表名那樣引用 openrowset 函式。依據 ole db 提供程式的能力,...

跨伺服器訪問SQLSERVER

建立鏈結伺服器 exec sp addlinkedserver wqjk sqloledb 遠端伺服器名或ip位址 exec sp addlinkedsrvlogin wqjk false null,使用者名稱 密碼 查詢示例 select from itsv.資料庫名.dbo.表名 匯入示例 se...

SQL Server跨伺服器查詢

建立鏈結伺服器 exec sp addlinkedserver itsv sqloledb 遠端伺服器名或ip位址 exec sp addlinkedsrvlogin itsv false null,使用者名稱 密碼 查詢示例 select from itsv.資料庫名.dbo.表名 匯入示例 se...