清理SQL Server 2008日志文件Cannot shrink log file 2 的解決方案
SQL 2008日志文件占了23G硬盤空間,而事務日志已經(jīng)截斷(Truncate),實際日志內(nèi)容很小,1G都不到,想要釋放日志文件霸占的多余空間。
但是,無論怎么收縮(Shrink)日志文件,空間就是不能釋放,總是出現(xiàn)錯誤:
Cannot shrink log file 2 (CNBlogsText_log) because of minimum log space required.
之前解決過類似的問題,也寫過一篇博客-SQL Server 2008事務日志清理,當時采用的最終解決方法是:
將恢復模式由完整(Full)改為簡單(Simple)
收縮(Shrink)日志文件
將恢復模式由簡單(Simple)改為完整(Full)
一直以為這就是終極方法,但是竟然沒能終結這次遇到的問題。
經(jīng)過不懈的努力,終于找到真正的終極方法:
1. Detach數(shù)據(jù)庫(Detach之前一定要屏蔽所有對這個數(shù)據(jù)庫的寫入操作)
2. 刪除或重命名日志文件
3. Attach數(shù)據(jù)庫,這時會提示找不到日志文件
4. 移除(Remove)這個找不到的日志文件,然后點擊Ok進行Attach,SQL Server會在數(shù)據(jù)文件所在的文件夾自動創(chuàng)建一個新的日志文件完成Attach。
5. 如果日志文件需要存放在另外的路徑,要再通過Detach/Attach進行日志文件的移動操作。
Detach數(shù)據(jù)庫
將日志文件移動至新的位置
Attach數(shù)據(jù)庫,修改日志文件的路徑并完成Attach
該終極方法的弊端是在操作期間,被操作的數(shù)據(jù)庫不能被正常訪問。
關鍵詞:SQL
閱讀本文后您有什么感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0