同步兩個資料庫

2021-09-05 22:00:41 字數 1547 閱讀 9802

/*  

*/

/*--同步兩個資料庫的示例

有資料

srv1.庫名..author有欄位:id,name,phone,

srv2.庫名..author有欄位:id,name,telphone,adress

要求:

srv1.庫名..author增加記錄則srv1.庫名..author記錄增加

srv1.庫名..author的phone欄位更新,則srv1.庫名..author對應欄位telphone更新

--*/

--大致的處理步驟

--1.在 srv1 上建立連線伺服器,以便在 srv1 中操作 srv2,實現同步

exec sp_addlinkedserver 'srv2','','sqloledb','srv2的sql例項名或ip'

exec sp_addlinkedsrvlogin 'srv2','false',null,'使用者名稱','密碼'

go

--2.在 srv1 和 srv2 這兩台電腦中,啟動 msdtc(分布式事務處理服務),並且設定為自動啟動 我的電腦--控制面板--管理工具--服務--右鍵 distributed transaction coordinator--屬性--啟動--並將啟動型別設定為自動啟動

go

--3.實現同步處理

--a.在srv1..author中建立觸發器,實現資料即時同步

--新增同步

create trigger tr_insert_author on author

for insert

as

set xact_abort on

insert srv2.庫名.dbo.author(id,name,telphone)

select id,name,telphone from inserted

go

--修改同步

create trigger tr_update_author on author

for update

as

set xact_abort on

update b set name=i.name,telphone=i.telphone

from srv2.庫名.dbo.author b,inserted i

where b.id=i.id

go

--刪除同步

create trigger tr_delete_author on author

for delete

as

set xact_abort on

delete b

from srv2.庫名.dbo.author b,deleted d

where b.id=d.id

go

sql 定時同步兩個資料庫

定時同步伺服器上的資料 例子 測試環境,sql server2000,遠端伺服器名 xz,使用者名為 sa,無密碼,測試資料庫 test 伺服器上的表 查詢分析器連線到伺服器上建立 create table user id int primary key,number varchar 4 name ...

通過作業,定時同步兩個資料庫

定時同步伺服器上的資料 例子 測試環境,sql server2000,遠端伺服器名 xz,使用者名為 sa,無密碼,測試資料庫 test 伺服器上的表 查詢分析器連線到伺服器上建立 create table user id int primary key,number varchar 4 name ...

通過作業,定時同步兩個資料庫

定時同步伺服器上的資料 例子 測試環境,sql server2000,遠端伺服器名 xz,使用者名為 sa,無密碼,測試資料庫 test 伺服器上的表 查詢分析器連線到伺服器上建立 create table user id int primary key,number varchar 4 name ...