现在有2台服务器A,B
服务器A中的sql为sql server2008 r2
服务器B中的sql为sql server2005
两台服务器中,不同的两个库,不同的表,不同的字段,只有某两个表中某个字段相同
问题
需要将08 r2中的一个表的字段监测,有修改时,需要修改05中一个表的字段,但是需要判断,如果05的一个表中没有数据,那么就需要插入
1、有没有第三方工具能够满足我的要求
2、数据库自带的快照之类的,不要,网上看啦,数据量大之后,很耗资源,而且要做到实时的就更耗资源
3、触发器,试过,一直提示分布式事务错误,搞不定,网上查啦N+资料,最终的?结果是在这里提问
4、什么同义词,视图之类的,不要提,我没办法修改程序,只能数据库后台处理,而后台,在做处理时,需要实时写入,所以同义词,视图等,不合适,因为这些只能实时的读,而不能实时的写
求大神帮助
------解决方案--------------------
那么你可以用触发器把表更新操作都记录下来,然后另一台写个脚本自动过来处理这些记录啊。
------解决方案--------------------
实时的环境要求比较高喔,如果网络或另一台系统故障,那么都不能更新数据
若不是很需要实时同步,建议还是定时如N秒同步一次。。若当次同步失败,自动从上次失败点处接着同步
------解决方案--------------------
1. 用触发器记录要同步的表的修改日志
仅记录表的关键字,动作类型(新增,更新, 删除),触发时间, 其他字段内容可以从表中获取
2. 建一个同步方案表,同步哪些表,多久同步一次,同步双方的数据库配置信息。
3. 写一个同步存储过程过程,执行这个同步方案。
1. 内部可以用SQL的连接服务器,直接用SQL更新目的数据库
2. 也可以生成需要同步的记录XML文件,然后把这个文件传输给目的服务器,由目的服务器解释执行。
------解决方案--------------------
两台服务器实时的话,估计要双机热备了。
------解决方案--------------------
2台服务器在同一个局域网里?否则,实时的代价会很大