合并复制与触发器实现同步

触发器:在需要同步的三个数据库里分别创建触发器,用来触发当对本数据库进行更新、插入、删除操作时,触发另外两个库里的相同表的同步修改。创建时,需要注意,由于三个库的数据时相互触发,所以在执行当前数据必须首先禁用另外两个库的的触发器,否则会出现死循环。禁用的代码:alter table tablename disable trigger triggername.执行完当前的触发器,还需重新打开触发器,代码:alter teble tablename enable trigger triggername

使用触发器实现同步的优点是:实时性较强。

缺点是:性能较差(因为每次对某个表执行操作会触发其他表的同步操作),维护困难(由于触发器实现的同步时数据库之间表内数据的同步,不能实现表结构的同步,所以如果后期需要更改表结构,则需要同时对三个库的表结构进行修改,还需要更改相应的触发器里对应的列,维护起来较为繁琐,特别是项目大时)

合并复制:利用SQL Server2005中的发布、订阅和分发功能,进行合并复制的配置。

优点:同步的内容除了表内的数据,还有表的结构,即某个表的结构发生变化,对应的定于服务器上得表结构也发生同步变化。这样,只需更改发布服务器上得表结构,就可以同步更新表结构

缺点:实时性较差,没有触发器来的快。

要更改表结构,只能对发布服务器上得表进行操作,而不能对订阅服务器上得数据进行操作。否则出错。

冲突:repl_identity_range_A7A11E1F_3E11_4A5C_88D5_A46A3132DDA5

sp_adjustpublisheridentityrange

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章