none
事务复制(数据不一致) RRS feed

  • 问题

  • MSSQL高手!
    咨询问题
     我们这边事务复制经常丢失命令
    丢失数据

    有啥好的方法监控没?那个时间段丢失了命令数据,具体原因是什么?最好能精确到那个进程或者线程之类的被堵塞或者服务器由于某种原因无法响应之类的?

    利用SQLSERVERProfiler
    监控到那个时间段事务复制丢失命令吗?

    我们这边经常出现数据命令丢失,不一致,很头疼,不知道是网络丢包的问题,还是内存,或者其它线程无法响应

    反正就是找不到具体原因

    HELP!


    MSSQL高手妹!动起来!给个解决方案!不能追踪到具体原因很是郁闷啊!

    2013年1月28日 1:16

答案

  • 有可能是sub端的人为修改,也可能是产品的bug。

    你需要提供下面的信息

    所谓的命令丢失是指:pub更新后msrepl_commands和msrepl_transactions表里的记录没有产生相应的记录?还是相应的记录没有传递到sub

    是否出了20598错误

    publisher,distributor,subscriber的版本信息

    出现问题时publisher,distributor,subscriber的sql serer tracer.

    建议联系ms support

    2013年1月28日 4:44
    版主

全部回复

  • 一般是有人改了订阅表导致的, 建议你在订阅表上建个 Trigger , 跟踪一下操作, 以确定是有人直接改订阅表, 还是真的是同步上的丢失

    2013年1月28日 1:47
  • 另外, 复制里面可以设置复制的条件(行筛选), 也可以配置只复制某种类型的数年变更(比如只同步新增), 这些也会导致发布表和订阅表不一样, 所以这些情况也要确定一下
    2013年1月28日 1:49
  • 皱大哥!应该不是有人直接修改订阅表,发生数据丢失很多时候都是服务器负载很重的时候才发生的!有些服务器负载不重就不出现类似问题!只有那些负载比较中的服务器才发生类似状况,而且我们这边订阅表是直接发给外网的!一般不会有人做修改的!基本上每次早上10点左右的时候,就会丢失一些更新命令,导致数据源和订阅表不一致数据状态,这个时候服务器压力大,

    备注:我们的发布表变更是很频繁的!事务比较频繁

    2013年1月28日 1:54
  • LZ可以使用复制监视器查看一下 为什麽会发生数据丢失

    在cmd下直接输入 sqlmonitor或者在SSMS里打开复制监视器


    给我写信: QQ我:点击这里给我发消息

    2013年1月28日 2:23
  • 有可能是sub端的人为修改,也可能是产品的bug。

    你需要提供下面的信息

    所谓的命令丢失是指:pub更新后msrepl_commands和msrepl_transactions表里的记录没有产生相应的记录?还是相应的记录没有传递到sub

    是否出了20598错误

    publisher,distributor,subscriber的版本信息

    出现问题时publisher,distributor,subscriber的sql serer tracer.

    建议联系ms support

    2013年1月28日 4:44
    版主
  • 都有!其实不是设置的问题,因为服务器空闲的时候不会出现丢失数据 ,只是服务很忙的时候,负载很高的时候,才出现发布和订阅不一致的状况!才会出现命令丢失,或者命令没有在订阅表上执行!

    备注;我们的事务量很高的!变更很快的。

    一个简单例子:发布A,删除一条数据,这个命令在订阅上可能服务器忙碌的时候产生堵塞无法短时间执行,这个时候可能又插入一条一样的业务数据再A,这个时候订阅B,就会无法插入,因为这个时候订阅B连删除的那个命令都没有执行呢!反正类似的问题很多

    2013年1月28日 5:50
  • 都有!其实不是设置的问题,因为服务器空闲的时候不会出现丢失数据 ,只是服务很忙的时候,负载很高的时候,才出现发布和订阅不一致的状况!才会出现命令丢失,或者命令没有在订阅表上执行!

    备注;我们的事务量很高的!变更很快的。

    一个简单例子:发布A,删除一条数据,这个命令在订阅上可能服务器忙碌的时候产生堵塞无法短时间执行,这个时候可能又插入一条一样的业务数据再A,这个时候订阅B,就会无法插入,因为这个时候订阅B连删除的那个命令都没有执行呢!反正类似的问题很多

    在你的那种情况下,SQL会先将删除那条数据的命令同步到B服务器的吧.

    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.

    2013年1月28日 6:19
  • 你的问题可以通过测试环境来重现么?

    2013年1月28日 8:04
  • 发布监控里边可以看到具体同步了哪些信息的,你看看是否真实同步过。 
    2013年1月28日 13:42