MS SQL 需要定期清理日志文件


前言碎語

    關於對SQL SERVER 日志文件管理方面了解不多的話,可以參考我的這篇博客文章“MS SQL 日志記錄管理”,不過這篇文章只是介紹對SQL SERVER日志記錄的深入認知了解,並沒有提出如何管理日志文件的方案,如果你有興趣的話,倒不妨可以鑽研一下如何管理、提取日志記錄信息,這是數據庫精細化管理的一個方面,如果手頭管理的服務器過多,事情過多,你很難做到精細化管理!很多事情都忙不過來,需要時間去做!

 

問題現象

    這幾天有台數據庫服務器一天會收到8封左右的告警郵件,大致內容如下:

DATE/TIME:     2013-8-4 9:19:47

 

DESCRIPTION: A user request from the session with SPID 194 generated a fatal exception. SQL Server is terminating this session. Contact Product Support Services with the dump produced in the log directory.


 

COMMENT:     (None)

 

JOB RUN:          (None)
View Code

 

     通過查看錯誤日志記錄,查找具體原因時,需要找到具體日志文件,例如“C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\SQLDump5328.txt”

結果我在C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\下,發現有大量2011、2012年的生成的SQLDump.txt, SQLDump.log , SQLDump.mdmp文件,尤其是后綴為mdmp的文件,大小一般3M左右,結果我刪除了大量日期為2011年,2012年生成的SQLDump文件后,總共釋放了9GB多的空間,暴汗啊,也就是說日積月累,這類文件你不搭理的話,會由量變到質變,達到一個驚人的量。

clipboard[3]

 

 

解決方案

 

  由於近期生成的的這類日志文件是有價值的,有助於你定位錯誤,所以最好不要刪除,這類日志文件我建議一般保留一個星期的周期,超過一個星期的這類日志文件,可以通過下面一些方案處理:

        1: 定期手工檢查,刪除這些日志文件。這是下下策,誰能保證你不會忘記這事? 人工成本很貴的!

        2: 寫一個dos的批處理文件,然后通過Task Scheduler定期執行清理

        3: 寫一個dos的批處理文件,在SQLAgent 調用 CMDEXEC 完成批處理作業

        4:通過powershell腳本來處理。

 


免責聲明!

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



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