【问题标题】:The transaction log for database is full due to 'log_backup' / (Log)LDF file 4 times bigger than (Data)MDF由于 'log_backup' / (Log)LDF 文件比 (Data)MDF 大 4 倍,数据库的事务日志已满
【发布时间】:2020-05-09 14:17:24
【问题描述】:
当然我发现了很多关于“log_backup”问题的帖子。但我现在的问题是:处理这类问题的正确/正确/专业的方法是什么?
我的数据库文件大约 20GB,事务日志文件是 100GB(大 4 倍)。我确信我不需要所有这些备份事务。那么将日志文件缩小到大约 20GB 的正确方法是什么?
我是否只是按照these answers 并将恢复模式设置为简单、缩小然后进行完整备份?或者您会建议另一种解决方案,例如备份日志文件并开始一个新的? (我不确定,这是否可能?!)
【问题讨论】:
标签:
sql-server
sql-server-2012
transaction-log
【解决方案1】:
你基本上是在回答你自己的问题,你需要做的就是选择一个选项。
我猜您的恢复模式已满:这意味着您的所有事务都将写入日志文件以进行“时间点恢复”。这就是您的日志文件如此之大的原因,除非您:
- 备份并缩小日志文件
- 将恢复模式更改为简单并缩小日志文件
它将保持这种状态。
这两种解决方案或多或少是等效的。如果您的服务器在您更改恢复模式并缩小文件后立即崩溃,则后一种选择存在无法进行时间点恢复的小风险,但我猜这是 0,(0)1 的可能性这不是问题,因为您的备份设置不正确。
在任何一种情况下,如果您决定将恢复模式设置为完全,请确保将日志包含在某种常规备份中,否则您(或其他人)将来会再次遇到此问题.