如果只是簡單的資料同步,可以用觸發器來實現.下面是例子:
--測試環境:sql2000,遠端主機名:xz,使用者名稱:sa,密碼:無,資料庫名:test
--建立測試表,不能用標識列做主鍵,因為不能進行正常更新
--在本機上建立測試表,遠端主機上也要做同樣的建表操作,只是不寫觸發器
if exists (select * from dbo.sysobjects where id = object_id(n'[test]') and objectproperty(id, n'isusertable') = 1)
drop table [test]
create table test(id int not null constraint pk_test primary key
,name varchar(10))
go --建立同步的觸發器
create trigger t_test on test
for insert,update,delete
as set xact_abort on
--啟動遠端伺服器的msdtc服務
exec master..xp_cmdshell 'isql /s"xz" /u"sa" /p"" /q"exec master..xp_cmdshell ''net start msdtc'',no_output"',no_output
--啟動本機的msdtc服務
exec master..xp_cmdshell 'net start msdtc',no_output
--進行分布事務處理,如果錶用標識列做主鍵,用下面的方法
begin distributed transaction
delete from openrowset('sqloledb','xz';'sa';'',test.dbo.test)
where id in(select id from deleted)
insert into openrowset('sqloledb','xz';'sa';'',test.dbo.test)
select * from inserted
commit tran
go
資料庫同步
sql server 2005 同步複製技術 以下實現複製步驟 以快照複製為例 執行平台sql server 2005 一 準備工作 1 建立乙個 windows 使用者,設定為管理員許可權,並設定密碼,作為發布快照檔案的有效訪問使用者。2 在sql server下實現發布伺服器和訂閱伺服器的通訊正...
資料庫同步
上次發布訂閱實現資料庫同步,這次用觸發器 實現了按表的同步。思路是 1,需同步的a。b兩個表都建立觸發器,和同步表a trigger,b trigger。在對錶增刪改的時候,用觸發器記錄存放在同步表中。2,定時讀取兩個同步表,然後將更改記錄更新到對方的表中。實現 1 觸發器 建立乙個和a結構一樣的同...
django 資料庫同步
我們簡單介紹下django 資料庫同步的工具 1.syncdb django自帶了乙個簡易的資料庫同步工具 syncdb manage.py syncdb 根據models.py建立資料庫表 manage.py validate 檢驗資料模型 是否正確 manage.py sql 顯示表建立的sql...