方法一
不同伺服器資料庫之間的資料操作
--建立鏈結伺服器
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 本地表
方法二: --
在192.168.1.1的查詢分析器中執行
declare
@linksrv
varchar
(20),
@actsrv
varchar
(20),
@actdb
varchar
(20),
@code
varchar
(8)
select
@linksrv='
[192.168.1.2]',
@actsrv='
192.168.1.2'if
exists
(select
1
from
master..sysservers
where
srvname
=@linksrv
)begin
exec
sp_droplinkedsrvlogin
@linksrv
, null
exec
sp_dropserver
@server
=@linksrv
endexec
sp_addlinkedserver
@server
=@linksrv
, @srvproduct=''
, @provider='
sqloledb',
@datasrc
=@actsrv
, @catalog
=null
exec
sp_addlinkedsrvlogin
@linksrv, '
false',
null, '
sa', '
yourpassword'--
192.168.1.2上的資料庫的sa密碼
goset
ansi_nulls
onset
ansi_warnings
ongo
select
*from
[192.168.1.2
].資料庫名.dbo.表名
go--
在192.168.1.2的查詢分析器中執行
declare
@linksrv
varchar
(20),
@actsrv
varchar
(20),
@actdb
varchar
(20),
@code
varchar
(8)
select
@linksrv='
[192.168.1.1]',
@actsrv='
192.168.1.1'if
exists
(select
1
from
master..sysservers
where
srvname
=@linksrv
)begin
exec
sp_droplinkedsrvlogin
@linksrv
, null
exec
sp_dropserver
@server
=@linksrv
endexec
sp_addlinkedserver
@server
=@linksrv
, @srvproduct=''
, @provider='
sqloledb',
@datasrc
=@actsrv
, @catalog
=null
exec
sp_addlinkedsrvlogin
@linksrv, '
false',
null, '
sa', '
yourpassword'--
192.168.1.1上的資料庫的sa密碼
goset
ansi_nulls
onset
ansi_warnings
ongo
select
*from
[192.168.1.1
].資料庫名.dbo.表名
兩台伺服器之間的自動備份
問題 1 兩台伺服器之間的自動備份的問題 如何實現兩台伺服器之間的自動備份是網管們經常遇到的問題。比如 我們需要在夜間或伺服器相對閒暇時,自動將伺服器a中指定目錄下的重要資料備份到伺服器b中某個指定的目錄中。2 隔n天備份到不同目錄的問題 有時,我們也可能遇到將伺服器進行隔n天進行自動備份,同時又希...
兩台伺服器之間拷貝檔案 scp方法
兩台伺服器之間拷貝檔案 scp方法 使用例項 sup r mnt yilinli api root mnt ll api不同的linux之間copy檔案通常有4種方法 1.ftp 2.samba服務 3.sftp 4.scp 以上前三種方法,都比較繁瑣,這裡不贅述。最簡單的方法就是scp,可以理解為...
兩台伺服器之間拷貝檔案 scp方法
兩台伺服器之間拷貝檔案 scp方法 使用例項 sup r mnt yilinli api root mnt ll api不同的linux之間copy檔案通常有4種方法 1.ftp 2.samba服務 3.sftp 4.scp 以上前三種方法,都比較繁瑣,這裡不贅述。最簡單的方法就是scp,可以理解為...