完整数据库备份后,SQL Server分发数据库日志文件无法控制地增长


8

我们有一个合并复制环境,该环境将推动8个订阅者。一切正常。我们的分发数据库是在简单恢复模式下设置的。我们有一个维护计划,该计划将每天00:30备份所有数据库。此过程完成后,分发日志文件将在接下来的30分钟内增长,并占用硬盘驱动器上的所有剩余空间(约90GB)

然后发生的情况是,分发数据库显示为“正在恢复”,直到重新启动计算机,我们才能做任何事情。之后,我可以将日志文件缩小到2MB。

我不知道为什么会这样。日志文件每天运行约10MB。数据库大小为15GB。


2
什么其他的维护计划做什么?什么是sys.databases.log_reuse_wait_desc价值,而日志增长这30分钟呢?
Remus Rusanu

是什么使数据库进入恢复挂起状态?完全备份不应该发生。
mrdenny

1
好的,因此看来,当此作业运行“代理历史记录清理:分发”时,日志文件将增长。我不确定是否会导致此问题。我将历史记录清理设置为提前一个小时运行。将看到结果是什么
Koenyn

任何索引重建?
卡罗尔贝克西

Answers:


2

听起来您的复制过程中发生了大量事务。如果是这样,那么“清理:分发”作业可能应该运行得更频繁。在我看来,这每天发生一次。在高事务复制服务器上,我每15分钟运行一次,以保持最近的36个小时。这样,它就可以自行调整步伐并且不会停滞不前。

这是一篇可能有帮助的文章-http: //www.sqlservergeeks.com/blogs/singhsatnam84/sql-server-bi/563/sql-server-controlling-growth-of-a-distribution-database


1
是的,我们每天运行一次。我现在将日志文件的大小限制为15gb。这似乎很有帮助。现在无需截断它,我们的服务器也不会崩溃。每15分钟执行一次作业会有什么风险?
Koenyn 2013年

清理是一个简单的存储proc调用。通过更频繁地运行,批次大小会更小。如果您的保留期限设置正确,则没有发现任何风险。根据我的经验,它使复制滞后。dbo.sp_MSdistribution_cleanup
Cate Donoghue

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.