SQLServer中跨伺服器跨資料庫之間的資料操作

2021-08-13 01:53:02 字數 4216 閱讀 8690

首先必須理解乙個概念:

select * from sys.servers         (檢視系統表,看原來的伺服器名)

要想跨域就必須在以上資訊中可以檢索到!

怎樣新增?

--建立鏈結伺服器

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

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

--查詢示例

select*fromitsv.資料庫名.dbo.表名

--匯入示例

select*intofromitsv.資料庫名.dbo.表名

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

execsp_dropserver'itsv ','droplogins '

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

--1、openrowset

--查詢示例

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

--生成本地表

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

--把本地表匯入遠端表

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

select*from本地表

--更新本地表

updateb

setb.列a=a.列a

fromopenrowset('sqloledb ','sql伺服器名 ';'使用者名稱 ';'密碼 ',資料庫名.dbo.表名)asainnerjoin本地表 b

ona.column1=b.column1

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

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

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

--查詢

select*

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

--把本地表匯入遠端表

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

select*from本地表

--更新本地表

updateb

setb.列b=a.列b

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

innerjoin本地表 bona.列a=b.列a

--3、opendatasource/openrowset

select*

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

--把本地表匯入遠端表

測試演示:

user master;

exec sp_addlinkedserver   '41f0bcc ', ' ', 'sqloledb ', '192.168.7.21' 

exec sp_addlinkedsrvlogin  '41f0bcc ', 'false ',null, 'sa ', 'q1w2e3e3r45tr4t5' 

select * from [41f0bcc].estoredb.dbo.v_standard_org

跨伺服器訪問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.資料庫...

SQL Server跨伺服器查詢

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