• 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 FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGSQLDump5328.txt”

    结果我在C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQL下,发现有大量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脚本来处理。

     

  • 相关阅读:
    js编码中常用的知识点
    oracle函数的使用
    oracle 临时表的使用
    oracle11G归档日志管理
    oracle中 高水位线详解
    oracle并行模式(Parallel)
    oracle常用函数详解(详细)
    oracle系统表的查询
    15000 字的 SQL 语句大全
    oracle_单引号问题和execute immediate 赋值问题
  • 原文地址:https://www.cnblogs.com/kerrycode/p/3249622.html
Copyright © 2020-2023  润新知