--引用鄒建
/*--同步兩個資料庫的示例
測試環境及同步要求:
有資料庫伺服器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 ...