在当前正在复制的数据库中,我想停止复制(停止日志读取器进程)一段时间,尽管我想继续在同一个数据库上进行日志备份。
日志备份是否释放日志以供重复使用,或者日志读取器任务是否保持原样以执行复制以将事务复制到分发数据库?所有这些都假设日志的空间可用于日志增长。我在想,事务日志中标记为复制但尚未分发的任何剩余内容都不会被覆盖,但我想验证这一点。
如果是这样,当我重新启动日志读取器进程时,事务被写入分发数据库,然后日志将继续像过去一样被处理并适当地缩小。
在当前正在复制的数据库中,我想停止复制(停止日志读取器进程)一段时间,尽管我想继续在同一个数据库上进行日志备份。
日志备份是否释放日志以供重复使用,或者日志读取器任务是否保持原样以执行复制以将事务复制到分发数据库?所有这些都假设日志的空间可用于日志增长。我在想,事务日志中标记为复制但尚未分发的任何剩余内容都不会被覆盖,但我想验证这一点。
如果是这样,当我重新启动日志读取器进程时,事务被写入分发数据库,然后日志将继续像过去一样被处理并适当地缩小。
日志备份不会释放日志以供重复使用。发布数据库中事务日志中已标记为复制的事务在成功写入分发数据库之前不会被取消标记。只有这样才能标记该部分日志以供重用。
从您停止日志读取器代理的那一刻起,您很可能会注意到一些事务日志增长,其中 log_reuse_wait_desc 为 REPLICATION。
例如:
起初 log_reuse_wait_desc 可能是 LOG_BACKUP,但在执行日志备份后,如果 Log Reader Agent 没有运行,log_reuse_wait_desc 将是 REPLICATION。