不同伺服器資料庫表之間的資料還原

2021-07-10 02:46:55 字數 4780 閱讀 8330

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

--建立鏈結伺服器

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

--把本地表匯入遠端表

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

select*from本地表  

使用openrowset等方法需要開啟ad hoc distributed queries

sql server 阻止了對元件 'ad hoc distributed queries' 的 statement'openrowset/opendatasource' 的訪問,因為此元件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'ad hoc distributed queries'。有關啟用 'ad hoc distributed queries' 的詳細資訊,請參閱 sql server 聯機叢書中的 "外圍應用配置器"。

啟用ad hoc distributed queries的方法,執行下面的查詢語句就可以了:

exec

sp_configure 

'show advanced options',

1

reconfigure

exec

sp_configure 

'ad hoc distributed queries',

1

reconfigure

使用完畢後,記得一定要要關閉它,因為這是乙個安全隱患,切記執行下面的sql語句

exec

sp_configure 

'ad hoc distributed queries',

0

reconfigure

exec

sp_configure 

'show advanced options',

0

reconfigure

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

首先執行 exec sp addlinkedserver itsv sqloledb 10.0.0.21 exec sp addlinkedsrvlogin itsv false null,sa 然後實現sql語句 delete from lr insert lr select from itsv....

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

首先執行 exec sp addlinkedserver itsv sqloledb 10.0.0.21 exec sp addlinkedsrvlogin itsv false null,sa 然後實現sql語句 delete from lr insert lr select from itsv....

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

不同伺服器資料庫之間的資料操作 建立鏈結伺服器 exec sp addlinkedserver itsv sqloledb 遠端伺服器名或ip位址 exec sp addlinkedsrvlogin itsv false null,使用者名稱 密碼 查詢示例 select from itsv.資料庫...