现在两台数据库服务器上分别有D1 D2两个数据库,现在D2数据库需要定时将的D1数据库的一些表和数据复制到D2数据库中做原始数据,然后在这个原始数据上做修改调整,然后这边的要求是当下一次D2从D1复制数据的时候D2数据库前次已经复制的数据或者说在D2做过修改的数据不能被D1的原始数据所覆盖,请问那些方法可以实现尽量使用数据库的功能就能实现,比如数据导入或者说是分发订阅是否能实现,怎么实现?

解决方案 »

  1.   

    事务复制,
    具体搜索百度,关键字“事务复制”,有很多,你可以照上面的测试一下,然后去部署。其实就是做一个计划任务,每次修改D1之前,先把D1的数据复制到D2。
      

  2.   


    这边的意思比如D1之前有1000条数据,现在D2复制的这1000条数据有的可能根据D2应用程序的数据修改了这1000条某写字段值,现在比如D1又增加了100条,那么D2这次同步只同步这新100条,不复制之前的1000条数据并且已经D2中1000条内容保持修改后的值,如果D1的操作是对前一条做修改那么D2还是保持自己修改后的值
      

  3.   

    如果表的个数不多,那么写个作业,然后直接insert into 目标表 select * from 源表 where xxxxx 
    这样就可以追加,然后接着调整你的源表。