區域網實現兩台資料庫同步

2021-04-06 22:02:35 字數 2518 閱讀 5646

--引用鄒建

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

測試環境及同步要求:

有資料庫伺服器srv1和srv2,兩台電腦能互相訪問,有資料

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

asset 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

asset 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

asset xact_abort on

delete b

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

where b.id=d.id

go--3.實現同步處理的方法2,定時同步

--在srv1中建立如下的同步處理儲存過程

create proc p_process

as--更新修改過的資料

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

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

where b.id=i.id and

(b.name<>i.name or b.telphone<>i.telphone)

--插入新增的資料

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

select id,name,telphone from author i

where not exists(

select * from srv2.庫名.dbo.author where id=i.id)

--刪除已經刪除的資料(如果需要的話)

delete b

from srv2.庫名.dbo.author b

where not exists(

select * from author where id=b.id)

go--然後建立乙個作業定時呼叫上面的同步處理儲存過程就行了

企業管理器

--管理

--sql server**

--右鍵作業

--新建作業

--"常規"項中輸入作業名稱

--"步驟"項

--新建

--"步驟名"中輸入步驟名

--"型別"中選擇"transact-sql 指令碼(tsql)"

--"資料庫"選擇執行命令的資料庫

--"命令"中輸入要執行的語句: exec p_process

--確定

--"排程"項

--新建排程

--"名稱"中輸入排程名稱

--"排程型別"中選擇你的作業執行安排

--如果選擇"反覆出現"

--點"更改"來設定你的時間安排

然後將sql agent服務啟動,並設定為自動啟動,否則你的作業不會被執行

設定方法:

我的電腦--控制面板--管理工具--服務--右鍵 sqlserveragent--屬性--啟動型別--選擇"自動啟動"--確定.

win7 同步 區域網 兩台電腦 時間

管理員下cmd net time 192.168.0.178 set y 以下錯誤解決方法 error account restriction 1327 0x52f logon failure user account restriction.possible reasons are blank p...

SSH 傳輸資料 區域網兩台ubuntu主機

本地主機和目的主機 需要安裝ssh服務 sudo apt get install ssh openssh server 傳輸資料 從遠端主機拷貝資料夾至本地主機的命令 這裡,highlight是遠端主機的使用者名稱,10.110.61.238是遠端主機的ip位址,home highlight doc...

如何實現兩台Linux伺服器在區域網之間傳輸檔案

1.1 實驗環境 伺服器作業系統 centos6.7 192.168.24.37 客戶端作業系統 centos6.7 192.168.24.36 虛擬機器 vmware workstation 1.2 實驗背景 從一台伺服器上的檔案遠端複製到另一台伺服器上的方法很多,今天在這裡sky採用linux ...