现在我有四台服务器,其中三台为下属分部的分别A、B、C,一台是总部的为S,要实现的功能是ABC的数扰要同步到S中,S是一台查询用的机器数据不需要返到ABC中。现在的问题是我用SQL的复制订阅在ABC上分别做了一个发布,在S上做了三个订阅。但在初始化时每次都把前一次的记录清掉,这样,我分别对ABC做初始化结果只能保留C的记录。
另外如果ABC其中一台长期断网,如果再联网怎么在不破坏现有数据的情况下还原S中的数据(ABC目前最新的数据)

解决方案 »

  1.   

    另外如果ABC其中一台长期断网,如果再联网怎么在不破坏现有数据的情况下还原S中的数据(ABC目前最新的数据)不明白你这句话的意思?
    比如说c很久没有联网,那么就无法同步数据了对不对?那为何还要还原成S的数据,那么C的数据岂不又还原到c联网以前的数据了马?
    你要的是不是这种效果?
    从abc 三分部服务器从数据到S,然后在同步ABC对不对?这个好像蛮有难度?
      

  2.   

    多谢回复。
    是这样的,因为这三个分部是三个不同区域的数据,总部想把这三个部分的数据汇总到一起,

    A的数据是a001,a002,a003
    B的数据是b001,b002,b003
    C的数据是c001,c002,c003
    那么S上的数据就应当是a001,a002,a003,b001,b002,b003,c001,c002,c003
    但我现在做的效果是,最后一个初始化的结果 即:c001,c002,c003
    再向ABC中加数据a004,b004,c004时,则回同步到S中去,现在是假如S或ABC中的一台机器出了问题,如长时间不在网(订阅可能失效),或服务器系统重做,还原订阅关系时,这个应当如何把数据还原呢。因为假设C被重做了,那么我在恢复C与S的订阅关系时。会把S的记录清了,再把C的记录导进去,这该怎么办呢?
      

  3.   

    楼主的意思是把分布的数据汇总到总部的服务器上来,用复制应该不是一个好的解决方案!用SSIS吧!但SSIS的实时性又是一个问题!
    如果用复制的话,建议搂主:
    1、在总部服务器上分别建三个表,对应于A、B、C分部,这样就不会出现楼主说的那个问题!
    2、再通过试图把这个三个表的数据union起来,前端通过试图访问!
      

  4.   

    另外如果ABC其中一台长期断网,如果再联网怎么在不破坏现有数据的情况下还原S中的数据(ABC目前最新的数据)-----最快的方法就是重新初始化所有的数据