Shunze 學園 >電腦資訊學系 >資料庫管理 > 《分享》MS SQL交易記錄檔減肥 哈囉,還沒有註冊或者登入。請你[註冊|登入]
« 上一篇主題 下一篇主題 » 顯示成列印模式 | 增加到我的最愛
發表新主題 發表回覆
作者
主題
shunze
工友伯伯


註冊日期: 2002 04
來自: 潮汐終止之地
文章: 2340

shunze 離線
《分享》MS SQL交易記錄檔減肥引用回覆 編輯/刪除文章 搜尋由  發表的其他文章 回報給版主 IP 位置 回此頁最上方

MS SQL的復原模式總共有完整、簡單及大量記錄等三種。



簡單模式無交易記錄檔,空間需求低;
完整模式有交易記錄檔,空間需求大,但損失低;
大量記錄模式有交易記錄檔,空間需求大,但損失低。

詳細可參考微軟網站
http://msdn.microsoft.com/zh-tw/library/ms189275.aspx


在預設情況下,資料庫的復原模式是完整模式,
所以交易記錄檔會一直成長,最後演變成資料庫明明只有幾M,但交易記錄檔卻有幾G的怪現象。







那要如何替交易記錄檔減肥呢?
MS SQL正確作法是要替交易記錄檔做備份。

備份?
備份跟減肥有什麼關係呢?

因為完整模式下,交易記錄檔會不斷成長,
所以必需透過備份的動作,來告訴資料庫,交易記錄檔已經有備份了,
交易記錄檔可以從頭來過∼



在交易記錄檔成功備份的情況下,交易記錄檔會從頭開始記錄,
因此配置空間可以重覆使用,使得交易記錄檔不會從後面一直附加上去,造成交易記錄檔肥大的現象。

所以正確來說,除了定期備份資料庫外,
交易記錄檔也應該要隨著資料定期備份。
這樣才不會造成資料庫很小,但交易記錄檔卻是超級肥大的現象!



那交易記錄檔已經很肥大了,
做完交易記錄檔備份後,交易記錄檔還是很大,不會變小怎麼辦?

這個部份要透過以下指令來完成(DB-NAME為資料庫名稱)。
backup log DB-NAME with no_log



操作以上指令後,就能替資料庫進行空間壓縮減肥了∼





♥順子老婆的網拍,請多關照∼

If you don't like something, change it.
If you can't change it, change your attitude.
Don't complain!




2011-10-19, 11:14 shunze 的個人資料 把 shunze 加入好友列表 發送Email給 shunze 瀏覽 shunze 的網站 MSN : shunze@gmail.com
shunze
工友伯伯


註冊日期: 2002 04
來自: 潮汐終止之地
文章: 2340

shunze 離線
MS SQL 2008的不同點引用回覆 編輯/刪除文章 搜尋由  發表的其他文章 回報給版主 IP 位置 回此頁最上方

經測試,SQL 2005的語法在2008已不能使用

backup log DB-NAME with no_log


SQL 2008的語法改為如下
backup log DB-NAME TO DISK='NUL:'


語法執行後一樣要在工作堭N交易記錄檔壓縮喔∼



♥順子老婆的網拍,請多關照∼

If you don't like something, change it.
If you can't change it, change your attitude.
Don't complain!




2013-02-21, 11:00 shunze 的個人資料 把 shunze 加入好友列表 發送Email給 shunze 瀏覽 shunze 的網站 MSN : shunze@gmail.com
  « 上一篇主題 下一篇主題 »
發表新主題 發表回覆
跳到:

Powered by: Burning Board 1.1.1 2001 WoltLab GbR