SQL Server日志文件庞大收缩方法(实测好用)

9/1/2015来源:SQL技巧人气:1799

SQL Server日志文件庞大收缩方法(实测好用) 2014-06-23 13:49 by 一人游走, ... 阅读, ... 评论, 收藏, 编辑

这两个命令连续执行,间隔时间越少越明显(可多次运行),直到达到效果

--截断BACKUP LOG CloudMonitor TO DISK='NUL'--收缩DBCC SHRINKFILE('CloudMonitor_log')

以后就可以采用常规的定期备份日志(比如一小时一次)来防止日志文件无限增长。SQL Server日志文件庞大收缩并非易事, 文章中提到:由于首日志、尾日志和空间重复利用的原因,当备份日志后产生了日志截断,就会标记为可重复利用,但是只有文件尾部可用空间能被收缩。 这样就导致了日志文件的可用空间有98%却怎么收缩都没动静。通过备份+收缩连续操作尽可能让跳过“Active Log”“收缩文件”尝试过,都无法达到效果:1. 释放未使用的空间2. 在释放未使用的空间前重新组织页


针对此问题,网上还有一些做法是通过修改为“简单恢复”模式进行收缩,但此方法不适用于AlwaysOn
当然,微软官方也对此问题作出来说明:“在某些情况下,直到下一个日志截断后,才能收缩日志。”官方文档:收缩事务日志可能延迟日志截断的因素