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

2023-06-12,,

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

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

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

以后就可以采用常规的定期备份日志(比如一小时一次)来防止日志文件无限增长。

SQL Server日志文件庞大收缩并非易事, 文章中提到:

由于首日志、尾日志和空间重复利用的原因,当备份日志后产生了日志截断,就会标记为可重复利用,但是只有文件尾部可用空间能被收缩。 这样就导致了日志文件的可用空间有98%却怎么收缩都没动静。通过备份+收缩连续操作尽可能让跳过“Active Log”

“收缩文件”尝试过,都无法达到效果:

1. 释放未使用的空间

2. 在释放未使用的空间前重新组织页


针对此问题,网上还有一些做法是通过修改为“简单恢复”模式进行收缩,但此方法不适用于AlwaysOn


当然,微软官方也对此问题作出来说明:
“在某些情况下,直到下一个日志截断后,才能收缩日志。”
 
官方文档:
收缩事务日志
可能延迟日志截断的因素

SQL Server日志文件庞大收缩方法(实测好用)的相关教程结束。

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

下载本文的Word格式文档,以方便收藏与打印。