合并拉复制错误

时间:2017-07-20 13:33:36

标签: sql-server tsql replication

2017-07-19 09:04:17.542 [0%] [剩余944896秒]网络同步进度:94%完成。

文章上传统计:

FILE_REPLICA:
    Relative Cost: 4.87%

PUBLISH_DOCUMENTS:
    Updates: 827
    Relative Cost: 76.73%

WF_ACTIVE_ROUTING_HISTORY:
    Relative Cost: 4.29%

WF_RUN_ROUTING_HISTORY_REV:
    Relative Cost: 1.87%

WF_RUN_STAGE_RES_LIST_PRES:
    Relative Cost: 1.83%

WF_RUN_STAGE_STATUS_PRES:
    Relative Cost: 1.83%

ORDER_RES_GROUP:
    Relative Cost: 5.54%

WF_RUN_ROUTING_HISTORY:
    Relative Cost: 3.04%

文章下载统计:

FILE_REPLICA:
    Relative Cost: 7.61%

PUBLISH_DOCUMENTS:
    Relative Cost: 4.18%

WF_ACTIVE_ROUTING_HISTORY:
    Relative Cost: 29.20%

WF_RUN_ROUTING_HISTORY_REV:
    Relative Cost: 13.25%

WF_RUN_STAGE_RES_LIST_PRES:
    Relative Cost: 19.39%

WF_RUN_STAGE_STATUS_PRES:
    Relative Cost: 6.54%

ORDER_RES_GROUP:
    Relative Cost: 9.05%

WF_RUN_ROUTING_HISTORY:
    Relative Cost: 10.78%

会话统计:

    Upload Updates: 827

    Deadlocks encountered: 18
    Change Delivery Time: 753 sec
    Schema Change and Bulk Insert Time: 5 sec
    Delivery Rate: 1.10 rows/sec
    Total Session Duration: 6556 sec

=============================================== ============== 2017-07-19 09:04:17.596连接到用户'VMSQL2014' 2017-07-19 09:04:17.609正在生成要发送到发布者'VMSQL2014'的上传消息 2017-07-19 09:04:17.613合并过程使用Exchange ID“86D0215F-E4E3-4FC1-99F4-BC9E05ACDA21”进行此Web同步会话。 2017-07-19 09:04:20.168将数据更改上传到发布服务器 2017-07-19 09:04:22.980在Subscriber'VMSQL2014'上执行的查询失败,因为连接被选为死锁中的受害者。如果在合并过程内部重试后仍然看到此错误,请重新运行合并过程。 2017-07-19 09:04:25.513 [0%] [剩余1227049秒]生成请求消息,现在可以上传了。 2017-07-19 09:04:25.561 [0%] [剩余1227049秒]上传请求大小为260442字节。 2017-07-19 09:04:27.462 [0%] [剩余1227049秒]共上传了55个块。 2017-07-19 09:04:27.466 [0%] [剩余1227049秒]请求邮件已发送至“https://webserver/SQLReplication/replisapi.dll” 2017-07-19 09:09:28.676手术超时

2017-07-19 09:09:28.679类别:空 来源:合并流程 编号:-2147209502 消息:操作超时

2017-07-19 09:09:28.680类别:空 来源:合并流程 编号:-2147209502 消息:响应消息的处理失败。

1 个答案:

答案 0 :(得分:0)

它说遇到了死锁。 deadlock是两个事务试图影响同一行的时间。可能,某人/某些其他程序正在写入您要写入的同一行,从而将您锁定并且不让您写入。

你可以:

  1. 实施retry procedure,以便在死锁时再次尝试合并。
  2. 在运行时将数据库从其他程序/用户锁定。
  3. 可能有其他选择来解决这个问题。谷歌:“避免死锁”