我目前必须处理已经失控的SQL Server事务日志。免责声明:我不是dba,这也不是我的专业领域,所以请多多包涵。
目前,我有一个用于500MB数据库的115GB事务日志文件,(很显然)一段时间以来,该日志文件的管理不善,使其处于此状态。
最重要的是在用尽之前回收此文件占用的磁盘空间!有人告诉我,增加驱动器的大小不是一种选择,即使是暂时的,并且根据过去的增长,我们需要尽快采取行动。
据我了解,最好的方法是使数据库处于完全恢复模式,但要定期备份日志文件,在一段时间内对其进行监视,并调整初始大小和增量以适应需要。很好
看到我们在午夜进行常规的完整数据库备份时,对我来说暂时将数据库置于“简单恢复模式”(在其中一种备份运行之后),收缩日志文件以收回(几乎所有)空间以及然后使用上述备份策略将其放回完全恢复中?
我的想法是,如果这段时间发生了一些事情,我们可以简单地还原完整备份,而无需使用日志。
更新
一些额外的细节,以回答一些答案和评论:
我们确实希望保留执行时间点还原的功能,因此数据库应保持完全恢复模式。
t-log文件变得如此之大的原因是它从未被备份过。验证为log_reuse_wait_desc返回“ LOG_BACKUP”。