Previous Article Next Article MSSQL 清除 Log 交易記錄,減少硬碟空間使用
Posted in Database

MSSQL 清除 Log 交易記錄,減少硬碟空間使用

MSSQL 清除 Log 交易記錄,減少硬碟空間使用 Posted on 2008 年 11 月 11 日Leave a comment

(續) http://ssorc.tw/?p=560

清除交易記錄 – 可以在完整備份後,再執從上述 = 備份 LOG,但沒有指定備份裝置,所以是將交易日誌中移除已確認(committed)的交易,縮減記錄檔

BACKUP LOG '資料庫名稱' WITH NO_LOG

壓縮記錄 – 釋放沒有用到的硬碟空間

use 資料庫名稱
dbcc shrinkfile(邏輯名稱_log, 幾Mb)
go

   指令方式

osql -E -n -Q "use 資料庫名稱; dbcc shrinkfile (邏輯名稱_log,幾Mb)"

osql -E -n -Q "use EnliveDB; dbcc shrinkfile (EnliveDB_log,2)"

   訊息 (這個會將檔案縮到 2MB,如果沒有定義mb數的話,會縮到 1024KB)

 DbId   FileId CurrentSize MinimumSize UsedPages   EstimatedPages
 —— —— ———– ———– ———– ————–
     49      2         256          63         256             56

(1 row affected)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

   指令方式 (這個是直接對資料庫,不用指定 LOG 了,這個除了log會壓,mdf也會  ??@@,所以還是用 shrinkfile 吧)

osql -E -n -Q "DBCC SHRINKDATABASE (missShark)"

   訊息

 DbId   FileId CurrentSize MinimumSize UsedPages   EstimatedPages
 —— —— ———– ———– ———– ————–
     54      1         408          96         400            400
     54      2          63          63          56             56

(2 rows affected)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

http://irw.ncut.edu.tw/peterju/sql.html

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *