MSSQL 瘦身 : 壓縮資料庫



資料庫經過一段時間後,經常碰到的是空間管理的問題,尤其是資料量成長太快的情況下,例如一些稽核軟體,在蒐集異動事件 Log 的行為上,非預期的發現資料量成長快速,通常會設定資料保留多久的時間,然後定期做 Purge,在第一次做 Purge 後發現奇怪的事情是,資料庫檔案為何沒有變小。如果加上空間快不夠用的情況,會有種火燒屁股的感覺。


在執行大量 Delete 後,資料庫不會立即釋放出原本占用的空間,會保留給新增進來的資料,所以看到 MDF 檔案大小並沒有變小。此時我們可以做 壓縮資料庫 ( Shrink Database ) 的動作,此行為會釋放出占用的空間。執行步驟如下:

A) 使用SSMS

選取 Database > 工作 > 壓縮 > 資料庫


檔案壓縮後的最大可用空間 N%,可自行調整。此範例為10%




B) 使用指令

USE [ChangeAuditor] GO DBCC SHRINKDATABASE(N'ChangeAuditor', 10 ) GO



執行壓縮資料庫會同時壓縮 MDF 與 LDF 檔案,也可以只壓縮 MDF 或只壓縮 LDF,執行步驟:

選取 Database > 工作 > 壓縮 > 檔案

此畫面可以選擇 檔案(MDF) 或 記錄檔(LDF)。



留言

這個網誌中的熱門文章

[SAP] 什麼是SAP? R/3 and S/4 是什麼意思? 差別在哪? (勿轉臉書)

InTrust 自動幫您蒐集 AD 帳號的登入/登出紀錄,長時間保存並保護