天天看點

MS SQL 需要定期清理日志檔案

前言碎語

    關于對SQL SERVER 日志檔案管理方面了解不多的話,可以參考我的這篇部落格文章“MS SQL 日志記錄管理”,不過這篇文章隻是介紹對SQL SERVER日志記錄的深入認知了解,并沒有提出如何管理日志檔案的方案,如果你有興趣的話,倒不妨可以鑽研一下如何管理、提取日志記錄資訊,這是資料庫精細化管理的一個方面,如果手頭管理的伺服器過多,事情過多,你很難做到精細化管理!很多事情都忙不過來,需要時間去做!

問題現象

    這幾天有台資料庫伺服器一天會收到8封左右的告警郵件,大緻内容如下:

MS SQL 需要定期清理日志檔案
MS SQL 需要定期清理日志檔案

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多的空間,暴汗啊,也就是說日積月累,這類檔案你不搭理的話,會由量變到質變,達到一個驚人的量。

MS SQL 需要定期清理日志檔案

解決方案

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

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

        2: 寫一個dos的批處理檔案,然後通過Task Scheduler定期執行清理