【问题标题】:Can I just STOP SqlServer replication?我可以停止 SqlServer 复制吗?
【发布时间】:2011-04-19 07:20:42
【问题描述】:

我正在运行 12 个 sql server 复制,其中 11 个有 1 个订阅,1 个有 2 个订阅。

现在我遇到了一个非常大的事务日志的问题,我想缩小它,但我收到了正在使用的事务日志的消息。

我怀疑是复制(发布,也可能是订阅)导致了这个问题。

现在我发现停止发布的唯一方法是 DROP alle publications,但这比我想要的要多:暂停发布。

有没有办法做到这一点?

【问题讨论】:

  • 对相关数据库进行简单恢复还是完全恢复?
  • 我还没有找到方法:(

标签: sql-server sql-server-2005 replication


【解决方案1】:

暂停复制不会完成您想要的。当您打开复制时,那些对复制感兴趣的日志记录(即那些您已配置为复制的对象的日志记录)将不会被标记为可重用,直到它们位于分发器处。 “暂停”复制的唯一两种方法是停止日志读取器或分发代理,它们都不会将这些日志记录发送给分发者。要查看复制是否是您的问题,请检查您的数据库的 sys.databases 中的 log_reuse_wait_desc 列并查看它的内容。如果它是“复制”,那么复制就是你的问题。 :) 如果是,您的日志阅读器代理落后多远?

【讨论】:

  • 你能否澄清这句话:“暂停复制的唯一两种方法是停止日志阅读器或分发代理,两者都没有将记录记录到分发服务器。” 您是说停止这些代理中的任何一个会或不会暂停复制吗?
  • 停止任一代理将阻止命令从发布者流向分发者。停止日志阅读器代理将阻止发布者 → 分发者流量。这具有使发布者处的事务日志增长的副作用,因为清除日志记录的条件之一是“这是否已由日志读取器代理处理?”。停止分发代理将停止分发者→订阅者流量。这不太危险,但要注意您在分销商处的保留情况;如果您将其暂停超过最低保留时间,则必须重新初始化。
  • 太棒了,非常感谢。在 MSDN 上似乎很难找到这些信息。
猜你喜欢
  • 1970-01-01
  • 2010-09-07
  • 2014-09-21
  • 1970-01-01
  • 2012-07-01
  • 2021-12-29
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多