不同伺服器資料庫之間的資料操作
--建立鏈結伺服器
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
資料庫同步
sql server 2005 同步複製技術 以下實現複製步驟 以快照複製為例 執行平台sql server 2005 一 準備工作 1 建立乙個 windows 使用者,設定為管理員許可權,並設定密碼,作為發布快照檔案的有效訪問使用者。2 在sql server下實現發布伺服器和訂閱伺服器的通訊正...
資料庫同步
上次發布訂閱實現資料庫同步,這次用觸發器 實現了按表的同步。思路是 1,需同步的a。b兩個表都建立觸發器,和同步表a trigger,b trigger。在對錶增刪改的時候,用觸發器記錄存放在同步表中。2,定時讀取兩個同步表,然後將更改記錄更新到對方的表中。實現 1 觸發器 建立乙個和a結構一樣的同...
利用資料庫複製技術 實現資料同步更新
複製是將一組資料從乙個資料來源拷貝到多個資料來源的技術,是將乙份資料發布到多個儲存站點上的有效方式。使用複製技術,使用者可以將乙份資料發布到多台伺服器上,從而使不同的伺服器使用者都可以在許可權的許可的範圍內共享這份資料。複製技術可以確保分布在不同地點的資料自動同步更新,從而保證資料的一致性。sql複...