现有两台服务器,分别是我们公司的服务器A,和其它公司的服务器B,现在那个公司的工作人员在他们的服务器B上给我们开了只读帐户,其它就再也没有任何提供了。现在我们要同步服务器B数据库中的若干张表,这些表的数据由几十万到几百万不等,而且每天都在不停的增加。现在我们要做的就是在每天晚上,保证我们数据库中的这几张表的数据与对方服务器中的这些表的数据相同。本来打算用程序跑的,但是问题是对方的这些表不仅仅是新增数据,而且还伴随着大量的修改操作,以及删除操作。所以用程序跑的话,就有点不好搞了。现在想到的一个办法就是在我们的服务器上建立一个链接服务器,然后通过这个链接服务器将两个库中的表相关连,然后通过排除,把对方库中新增的数据导到我们库中,把对方修改的数据也更新到我们的库中,同时将他们库中的被删除的数据,在我们库中也删除掉。但是这样做效率太慢,十六七张表,同步一次,要好长时间,所以想问问有没有效率更高的办法?我们的环境是:sql 2005
对方的环境是:sql 2008数据同步同步数据数据更新导数据
对方的环境是:sql 2008数据同步同步数据数据更新导数据
解决方案 »
- 谁来帮我看下这条sql语句 分页的方法怎么写
- 程序执行时,如何让oracle触发器打印的内容写到日志里
- 怎样取存储过程的返回值.
- update和insert语句使用问题,谢谢
- 如果在查询字段上创建了B+树索引,能不能提高SQL模糊查询的查询效率
- 【逻辑性很强】的问题..都是【基础语法】,在线等..
- 紧急求助:请问如何从TABLE A得到TABLE B (请帮忙转技术区,谢了!)
- 问大家一个问题哦.. SQL的
- 中大型数据库的数据同步问题
- select出来的结果集作为查询第二个表的字段名的问题
- SQL Server 2005 合并复制进行数据同步问题
- SQL 字段拼接 高人快进来看看啊!!!!!!!!!!!!!!!!!!!
让他们为此表增加一个删改的触发器,每次有删改,往一个表插入一条记录,有id自增字段及被改数据记录的id字段
你们可以根据此表得知哪些数据记录是需要同步的
如果对方只给你只读帐号,而不配合你多一点点权限,那只能每晚都同步10G
如果对方能稍微配合一点,那么就可以实现增量同步,估计每晚最多同步几M or 最多几十M即可
你的意思明白了,比如对方有个时间戳字段:UID,
如果我本地不保留这个UID的话,就可以跟据主键来判断是更新还是新增。
但是假如我想让这两个表的数据完全相同,包括UID字段内的数据,但是这样的话,我就需要每次更新本地数据的时候,把本地的UID字段内的数据也给更新掉,但这样就不能够把本地的字段设置为timestamp类型,那本地的UID用什么类型来代替较好呢?varbinary(50)还是varchar(50)?
虽然这样做貌似没有必要,呵呵。