MS SQL的復原模式總共有完整、簡單及大量記錄等三種。 簡單模式無交易記錄檔,空間需求低; 完整模式有交易記錄檔,空間需求大,但損失低; 大量記錄模式有交易記錄檔,空間需求大,但損失低。 詳細可參考微軟網站 http://msdn.microsoft.com/zh-tw/library/ms189275.aspx 在預設情況下,資料庫的復原模式是完整模式, 所以交易記錄檔會一直成長,最後演變成資料庫明明只有幾M,但交易記錄檔卻有幾G的怪現象。 那要如何替交易記錄檔減肥呢? MS SQL正確作法是要替交易記錄檔做備份。 備份? 備份跟減肥有什麼關係呢? 因為完整模式下,交易記錄檔會不斷成長, 所以必需透過備份的動作,來告訴資料庫,交易記錄檔已經有備份了, 交易記錄檔可以從頭來過~ 在交易記錄檔成功備份的情況下,交易記錄檔會從頭開始記錄, 因此配置空間可以重覆使用,使得交易記錄檔不會從後面一直附加上去,造成交易記錄檔肥大的現象。 所以正確來說,除了定期備份資料庫外, 交易記錄檔也應該要隨著資料定期備份。 這樣才不會造成資料庫很小,但交易記錄檔卻是超級肥大的現象! 那交易記錄檔已經很肥大了, 做完交易記錄檔備份後,交易記錄檔還是很大,不會變小怎麼辦? 這個部份要透過以下指令來完成(DB-NAME為資料庫名稱)。 backup log DB-NAME with no_log 操作以上指令後,就能替資料庫進行空間壓縮減肥了~
經測試,SQL 2005的語法在2008已不能使用
Powered by: Burning Board 1.1.1 2001 WoltLab GbR