两台sqlserver服务器复制数据表,数据有差异 100分求教!
SS_ 2006-06-20 11:04:48 两台数据库服务器之间是局域网的关系,没有网速的影响。
复制数据的数据源机器ip是192.168.177.1 ,表tableA 的数据记录已有 80万 条,
每天增加记录几千条不等(都是插入操作,有时间字段,每条记录都会记录插入的时间,在每天的6:00:00左右不会有数据的插入更新操作)。
数据目的ip是192.168.177.2
在192.168.177.2机器sql企业管理器里做如下操作:
—》工具-》向导-》数据转换服务-》DTS导入向导
-》下一步..选择数据源..选择数据目的
-》下一步..单选 “在sqlserver数据库之间复制对象和数据”
-》下一步 勾选 “创建目的对象”(勾选 “首先除去目的对象”、勾选 “包括所有相关对象”、勾选 “包括扩展属性”)
勾选 “复制数据” 选中下面的 “替换现有数据”
不打勾 “使用排序规则”
不打勾 “复制所有对象” 点“选择对象”按钮 选中我要复制的表 tableA
不打勾 “使用默认选项” 点“选项”按钮 将对话框里默认打勾的“复制数据库用户和数据库角色”和“复制对象级权限”的勾去掉
-》下一步 勾选 “立即运行”“调度DTS包以便以后执行”“保存DTS包”,
点击“调度DTS包以便以后执行”右边的“...”按钮,在对话框里选择 “发生频率”“每天”,“一次发生于”“6:00:00”,“开始日期”“2006-6-19”"无结束日期"
-》下一步 给包取名字,并保存在本地服务器上
-》下一步 -》完成
-》点击完成后开始第一次运行复制
运行完成后对照两个数据库相复制的这张表,表结构和数据记录一样,说明运行成功,OK。
但到 2006-6-20 也就是今天,8点左右,查看两张表是否相同,表结构一致,但数据就有差别了,
1、今天新插入的数据不会超过10条,这从表记录里的时间记录就可以判断出来,但两服务器(源和目的)表记录分别是826003,820155,这差异就大了近6000条
2、查看源表,按记录时间降序排列,今天有几条数据,昨天有5000多条数据
查看目的表,按记录时间降序排列,最大的日期是 2006-6-13,正常应该是今天6点以前的数据啊,昨天第一次运行的时候看数据还有19号以前的呢,疯了!
3、企业管理器 -》管理-》sqlserver代理-》作业 ,可以看见我命名的任务在 2006-6-20 6:00:00 分执行成功。
4、企业管理器 -》数据转换服务-》本地包 选择我命名的包 右键 “执行包”,再次运行任务,运行成功,比较数据,和前面一样,数据没变化还是2006-6-13以前的数据,郁闷啊!
搞不懂了,相同的任务操作,昨天第一次运行的时候很正常,在今天怎么就差别这么大,搞不定了,在这里向大家请教!!