SQL 日志文件占了G硬盘空间而事务日志已经截断(Truncate)实际日志内容很小G都不到想要释放日志文件霸占的多余空间
但是无论怎么收缩(Shrink)日志文件空间就是不能释放总是出现错误
Cannot shrink log file (CNBlogsText_log) because of minimum log space required
之前解决过类似的问题也写过一篇博客SQL Server 事务日志清理当时采用的最终解决方法是
将恢复模式由完整(Full)改为简单(Simple)
收缩(Shrink)日志文件
将恢复模式由简单(Simple)改为完整(Full)
一直以为这就是终极方法但是竟然没能终结这次遇到的问题
经过不懈的努力终于找到真正的终极方法
Detach数据库(Detach之前一定要屏蔽所有对这个数据库的写入操作)
删除或重命名日志文件
Attach数据库这时会提示找不到日志文件
移除(Remove)这个找不到的日志文件然后点击Ok进行AttachSQL Server会在数据文件所在的文件夹自动创建一个新的日志文件完成Attach
如果日志文件需要存放在另外的路径要再通过Detach/Attach进行日志文件的移动操作
Detach数据库
将日志文件移动至新的位置
Attach数据库修改日志文件的路径并完成Attach
该终极方法的弊端是在操作期间被操作的数据库不能被正常访问