看过一些与我的情况类似的帖子,但没有任何内容能真正解决我的问题。
设想:
- 例行索引重建发生,每周一次,星期六凌晨 2 点。
- 日志文件增长到通常大小的 15 倍左右。
- 进行事务日志备份(每 10 分钟,24 x 7)。
- 每天凌晨 3 点进行完整备份。
- 当我查看时,VLF 仍处于“活动”状态(状态 2)
dbcc loginfo
log_reuse_wait_desc
正在报告“LOGBACKUP ”sys.databases
dbcc opentran
报告没有活跃的交易@@version
: Microsoft SQL Server 2005 - 9.00.5069.00 (X64) Aug 22 2012 18:02:46 版权所有 (c) 1988-2005 Microsoft Corporation Standard Edition(64 位)在 Windows NT 6.1(Build 7601:Service Pack 1)上
问题:
所以,我的问题很简单,因为硬件限制和时间参数,我需要让事务日志的大小尽可能小。我相信它不释放空间的原因是因为 VLF 处于活动状态并且它认为它需要一个 LOGBACKUP 来释放,但是在无数次日志备份之后,log_reuse_wait_desc
仍然报告等待日志备份!
我可以将恢复模型更改为简单、缩小并改回,但这会破坏我的 LSN 链和我的日志传送实现,所以它不是一个真正可行的解决方案!
TIA。