sqlserver 事務日志已滿的幾種解決方案


一.刪除日志文件:(不建議)

二.手動收縮:

1.數據庫右鍵屬性-選項-恢復模式-下拉選擇簡單-最后點擊確定

 

 

2.右鍵數據庫-任務-收縮-文件類型-下拉選擇日志-收縮操作-在釋放未使用....(默認收縮到1MB)-最后點擊確定

 

 

 

3.最后別忘了回到第一步驟把恢復模式改為完整!

 

三.自動收縮:

1.為了以后能自動收縮,做如下設置:
企業管理器–服務器–右鍵數據庫–屬性–選項–選擇”自動收縮”
QL語句設置方式:
EXEC   sp_dboption   ‘數據庫名’,   ‘autoshrink’,   ‘TRUE’

2..如果想以后不讓它日志增長得太大

企業管理器–服務器–右鍵數據庫–屬性–事務日志
–將文件增長限制為xM(x是你允許的最大數據文件大小)
–SQL語句的設置方式:
alter   database   數據庫名   modify   file(name=邏輯文件名,maxsize=20)
 
四.分離附加:
分離主數據庫-刪除.ldf文件-附件數據庫;
 
五.使用sql語句:(可設置為計划)

--將數據庫設為簡單模式。日志文件自動斷開。

alter database dbname set recovery simple

--查看日志文件狀況
 use dbname
 dbcc shrinkfile('logname')  --like  XXXX_log

--恢復數據庫模式
 alter database dbname set recovery full

六.備份日志:

SQL Server 2008 先備份日志將日志截斷.
再用dbcc shrinkfile(日志文件,1024)收縮日志文件。

七.設置簡單模式:

設置為簡單模式不記錄日志;

八.sql自動縮減日志:

針對日志這個問題,建議手動寫個小工具(SQL提供自動縮減日志的腳本寫法),添加到任務計划中,定時執行!可以節省很多磁盤空間!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM