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
該終極方法的弊端是在操作期間被操作的數據庫不能被正常訪問
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22348.html