天天看點

sql點滴39—解決資料庫日志檔案過大的問題

随着資料庫使用時間增長,日志檔案也在不停的增大,這裡介紹幾種方法減小這個檔案的方法。

1.直接删除log檔案

分離資料庫。分離資料庫之前一定要做好資料庫的全備份,選擇資料庫——右鍵——任務——分離,如下圖

sql點滴39—解決資料庫日志檔案過大的問題

将日志檔案和資料檔案複制粘貼到另外一個檔案夾中以防萬一。删除連結,如下圖

sql點滴39—解決資料庫日志檔案過大的問題

直接删除日志檔案,然後再附加資料庫,如下圖

sql點滴39—解決資料庫日志檔案過大的問題

附加的時候會自動将ldf檔案和mdf檔案都附加上,但是會提示找不到ldf檔案,沒關系,選中ldf檔案這一行,點選下面的删除按鈕,點選确定就可以了。如下圖

sql點滴39—解決資料庫日志檔案過大的問題
sql點滴39—解決資料庫日志檔案過大的問題

如家成功之後生成的新的ldf檔案隻有504K。

2.收縮日志檔案

也可以采用收縮日志檔案的方式來減小這個日志檔案大小。右擊資料庫-任務-收縮-檔案,選擇日志檔案,如下圖

sql點滴39—解決資料庫日志檔案過大的問題

在收縮操作這個選項中可以選中第二項,“在釋放未使用的空間錢重新組織頁”,然後指定一個大小,點選确定就可以了。

3.使用故障恢複模型為簡單模型

為防止日志檔案以後增大,也可使用故障恢複模型為簡單模型。右擊資料庫-屬性-選項-恢複模式,選擇簡單。如下圖

sql點滴39—解決資料庫日志檔案過大的問題

也可使用語句實作這一功能。

SQL語句:  alter database資料庫名set recovery simple  另外,Truncate log on checkpoint(此選項用于SQL7.0,SQL 2000中即故障恢複模型選擇為簡單模型)當執行CHECKPOINT指令時如果事務日志檔案超過其大小的70%則将其内容清除在開發資料庫時時常将此選項設定為True Auto shrink定期對資料庫進行檢查當資料庫檔案或日志檔案的未用空間超過其大小的25%時,系統将會自動縮減檔案使其未用空間等于25%當檔案大小沒有超過其建立時的初始大小時不會縮減檔案縮減後的檔案也必須大于或等于其初始大小對事務日志檔案的縮減隻有在對其作備份時或将Truncate log on checkpoint選項設為True時才能進行。

 注意:一般立成建立的資料庫預設屬性已設好,但碰到意外情況使資料庫屬性被更改,請使用者清空日志後,檢查資料庫的以上屬性,以防事務日志再次充滿。