跨伺服器之間複製資料方法

2021-07-03 15:44:05 字數 3482 閱讀 3225

開啟sql相關配置

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

1.開啟ad hoc distributed queries元件,在sql查詢編輯器中執行如下語句:

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

*****示例*****====

--查詢遠端

--select * from openrowset( 'sqloledb', '166.62.xx.xx'; 'userid'; 'pwd', databasename.dbo.admin)

/* */

--insert openrowsetopenrowset( 'sqloledb', '166.62.xx.xx'; 'userid'; 'pwd', databasename.dbo.admin)

select count(id) from carsets_co_uk_server.dbo.procontent as spro where spro.productitemno not in(select tpro.productitemno from openrowset( 'sqloledb', '166.62.xx.xx'; 'userid'; 'pwd', databasename.dbo.admin) as tpro)

----複製查詢方法---

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

>>方法一

--建立鏈結伺服器

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

--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

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

首先必須理解乙個概念 select from sys.servers 檢視系統表,看原來的伺服器名 要想跨域就必須在以上資訊中可以檢索到!怎樣新增?建立鏈結伺服器 execsp addlinkedserver itsv sqloledb 遠端伺服器名或ip位址 execsp addlinkedsrv...

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

首先必須理解乙個概念 select from sys.servers 檢視系統表,看原來的伺服器名 要想跨域就必須在以上資訊中可以檢索到!怎樣新增?建立鏈結伺服器 exec sp addlinkedserver itsv sqloledb 遠端伺服器名或ip位址 exec sp addlinkeds...

Linux 跨伺服器 複製檔案 scp

名稱 cp 使用許可權 所有使用者 使用方式 cp options source dest cp options source.directory 說明 將乙個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。把計 a 盡可能將檔案狀態 許可權等資料都照原狀予以複製。r 若 source 中含有目錄名...