資料庫同步(網上資料收藏)

2021-05-12 11:53:57 字數 1101 閱讀 2404

如果只是簡單的資料同步,可以用觸發器來實現.下面是例子:

--測試環境: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...