數據庫在日積月累的操作過程中,不但自身體積會慢慢增長,其日志的容量大小同樣也隨著數據庫實體文件的增長而增長,且會占用很大的空間.mssql數據庫的大小包含數據(data)和事務日志(transactionlog)兩個部分。
數據部分存儲的是用戶數據庫中的數據,包含用戶的數據表、視圖、存儲過程等等內容。 
數據部分一般存儲與數據庫文件組中的.mdb文件中。一般來說,在正常使用的情況下,這 
個部分的大小不會經常性地發生很大的變化,除非是用于存儲論壇之類快速變化的數據內 
容。一般而言,這個部分很少會需要縮小。 
事務日志存儲的是用戶數據庫操作的事務記錄,主要是用于在數據庫服務器發生故障(比 
如電源故障之后),恢復數據庫中的數據完整性而用的。這個部分一般存儲于數據庫文件 
組中的.ldf文件中。這個部分的大小經常會發生劇烈的變化。 
在某些情況下,由于用戶的查詢語句(sql語句)書寫的問題,會造成數據庫文件大小的 
急劇膨脹,尤其是日志文件會變得非常大。這個時候需要對數據庫加以縮小。縮小的操作 
分為兩個步驟: 
步驟一 截斷數據庫中的日志內容 
backup log 數據庫名稱 with truncate_only 
步驟二 強制數據庫壓縮其大小 
dbcc shrinkdatabase ( 數據庫名稱 , truncateonly ) 
這兩個步驟需要使用查詢分析器來執行。關于其具體的意義,請參考mssql數據庫附帶的 
transact-sql的幫助文件。
還有一種方法就是在mssql企業管理器的數據庫屬性>>選項中,將故障還原>>模型設置為簡單,然后確定,這樣也可以直接減少日志文件的體積.
 
新聞熱點
疑難解答