公司要求两个数据库进行同步,我想做个桌面程序,每天定个时间直接把更新的数据复制到另个数据库中。不想用触发器,更新太频繁了。现在问题是怎么知道哪些数据是我同步的

解决方案 »

  1.   

    方法很多,
    1.如果两个数据库结构都一致,你可以采用数据库发布和订阅的方式2.如果不一致,需要处理,那么其实也很简单.
    源数据库中存放一张表,这个表就一个字段,记录最后一次同步的时间,并且每个表加入一个时间字段,同时设置默认值为getdata,也就是默认系统日期.
    这样你隔一段时间到每个表查询大于最后更新时间的记录,更新完成以后,把你开始更新的时间写入你的那个记录表.下次继续就这么简单
      

  2.   

    现在有个问题
    exec sp_addlinkedserver  'boss-cn', ' ', 'SQLOLEDB', '本机名' 
    exec sp_addlinkedsrvlogin  'boss-cn', 'false',null, 'sa', 'helps'链接服务器时,服务器名是含字符.获得-的,晕,这个当分布式查询的时候
    select * from boss-cn.dbo.File就会显示 - 错误