資料庫經過一段時間後,經常碰到的是空間管理的問題,尤其是資料量成長太快的情況下,例如一些稽核軟體,在蒐集異動事件 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)。
留言
張貼留言