sql2000數據庫日誌問題

SQL Server 2000 數據庫日誌 3 條評論

SQL Server 2000 數據庫對數據的事務會記錄日誌,並且能夠根據日誌回滾數據庫操作,這個想必大家都知道。不過,如果日誌變得很大,或者達到了限定的日誌文件上限,就會對數據庫產生較大的影響。

先來看看 SQL Server 2000 數據庫日誌文件的兩種設定方式。


右下角可以設置日誌文件的大小,上面一個選項是可以無限增大,後面一個選項是可以指定一個允許的最大值。數據庫在運行過程中,這個日誌文件會不斷的增大,增大的速度視提供服務的壓力而定。當這個文件達到預設的最大值時,任何數據庫操作都會失敗,會提示“無法寫入日誌”之類的報錯信息;也可以允許這個文件無限增大,不過,當文件大到一定的程度,寫入的效率會很低。筆者曾經遇到這個文件漲到 2.5 GB,在查明原因以前,整個系統莫名其妙效率降低很多,最後查到瓶頸在數據庫。各種優化手段用上未果,最後發現日誌是設置成無限增長的。把日誌刪除並把日誌文件縮減後,問題解決。

因此,無論是讓文件無限增長,還是設置文件最大值,都不可避免的遇到日誌的刪除和縮減問題。要縮減數據庫日誌,可以用查詢分析工具 (SQL Query Analyzer) 運行如下命令:
DUMP TRANSACTION [db_name] WITH NO_LOG

然後如下圖用“收縮數據庫”(Shrink Database) 工具將刪除後留下的空白空間收回。具體的:




然後選擇“Files...”:


在“Database file”中選擇日誌對應的文件,一般是“[db_name]_Log”,“Shrink action”選擇的第 4 項,將縮減的值設定爲目前允許的最小值,然後點擊“OK”即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章