SQL Server日志文件庞大收缩方法(实测好用)
2014-06-23 13:49 一人游走 阅读(4227) 评论(1) 编辑 收藏 举报这两个命令连续执行,间隔时间越少越明显(可多次运行),直到达到效果
--截断 BACKUP LOG CloudMonitor TO DISK='NUL' --收缩 DBCC SHRINKFILE('CloudMonitor_log')
以后就可以采用常规的定期备份日志(比如一小时一次)来防止日志文件无限增长。
SQL Server日志文件庞大收缩并非易事, 文章中提到:
由于首日志、尾日志和空间重复利用的原因,当备份日志后产生了日志截断,就会标记为可重复利用,但是只有文件尾部可用空间能被收缩。 这样就导致了日志文件的可用空间有98%却怎么收缩都没动静。通过备份+收缩连续操作尽可能让跳过“Active Log”
“收缩文件”尝试过,都无法达到效果:
1. 释放未使用的空间
2. 在释放未使用的空间前重新组织页
针对此问题,网上还有一些做法是通过修改为“简单恢复”模式进行收缩,但此方法不适用于AlwaysOn
当然,微软官方也对此问题作出来说明:
“在某些情况下,直到下一个日志截断后,才能收缩日志。”
官方文档: