收縮數據庫 DBCC SHRINKFILE

/* 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方法

相關文章
相關標籤/搜索