【问题标题】:Restore replication from backup on two subscribers从两个订阅者的备份中恢复复制
【发布时间】:2014-06-25 08:28:02
【问题描述】:

您好,我有一个大数据库 (~30GB),我需要将它复制到两个不同位置的两台服务器。我启用了复制并启用了“允许从备份初始化”并执行了以下步骤:

  1. 在主服务器上备份数据库
  2. 将备份文件复制到 server1。
  3. 在 server1 上恢复数据库
  4. 在主服务器上添加订阅。

从主服务器到服务器 1 的复制工作正常。

  1. 在主服务器上进行了全新备份。
  2. 在 server2 上复制和恢复
  3. 在 server2 上添加订阅者(使用 sp_addsubscription)

警告:分发代理作业已隐式创建,并将在 SQL Server 代理服务帐户下运行。 作业“XXX-181”已成功启动。 消息 21397,级别 16,状态 1,过程 sp_MSsetupnosyncsubwithlsnatdist,第 248 行 同步从指定备份创建的 nosync 订阅所需的事务在分发服务器上不可用。使用更新的日志、差异或完整数据库备份再次重试该操作。 订阅者已删除。

我做错了什么? 我必须为两台服务器使用相同的备份文件吗? 谢谢

【问题讨论】:

    标签: sql-server sql-server-2008-r2 database-replication transactional-replication


    【解决方案1】:

    备份的 lsn 必须作为 xact_seqno 的一部分在分发数据库中。您可能已经过了保留期,这意味着备份中的 lsn 不再在分发数据库中。

    最好的办法是停止分发清理代理,删除并重新创建有问题的订阅,备份数据库,重新创建订阅,然后重试。

    【讨论】:

    • 这为我解决了这个问题。如果其他人有这个问题,我不必放弃并重新创建订阅 - 我只需要重新备份并再次传输。我认为分发清理工作在我将原始备份传输给订阅者时会在一夜之间完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    相关资源
    最近更新 更多