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