/* from: http://www.cnblogs.com/blackcore/archive/2010/12/27/1917911.html */html
數據庫中的每一個文件均可以經過刪除未使用的頁的方法來減少。儘管數據庫引擎會有效地從新使用空間,但某個文件屢次出現無需原來大小的狀況後,收縮文件就變得頗有必要了。數據和事務日誌文件均可以減少(收縮)。能夠成組或單獨地手動收縮數據庫文件,也能夠設置數據庫,使其按照指定的間隔自動收縮。數據庫
文件始終從末尾開始收縮。例如,若是有個 5 GB 的文件,而且在dbcc shrinkfile 語句中將 target_size 指定爲 4 GB,則數據庫引擎將從文件的最後一個 1 GB 開始釋放盡量多的空間。若是文件中被釋放的部分包含使用過的頁,則數據庫引擎先將這些頁從新放置到文件的保留部分。只能將數據庫收縮到沒有剩餘的可用空間爲止。例如,若是某個 5 GB 的數據庫有 4 GB 的數據,而且在dbcc shrinkfile語句中將 target_size 指定爲 3 GB,則只能釋放 1 GB。日誌
操做命令:htm
如今我一個庫ASFCORE的日誌文件已經達到30G了,數據文件爲1G,若是要收縮日誌文件,則執行以下命令便可!blog
查看數據庫的recovery_model_desc類型 SELECT NAME, recovery_model_desc FROM sys.databases事務
若是是FULL類型,修改成SIMPLE類型 ALTER DATABASE ASFCORE SET Recovery simpleget
收縮日誌文件大小(單位是M) DBCC SHRINKFILE (N'ASFCORE_log' , 10)file
檢查日誌文件名稱 USE ASFCORE SELECT NAME, size FROM sys.database_filesmodel
恢復成FULL類型 ALTER DATABASE ASFCORE SET Recovery FULL方法