zoukankan      html  css  js  c++  java
  • 一件关于数据库日志log的无聊事情

        为何说是无聊的记录呢?

        因为事先把问题想复杂了,事后发现的时候觉得更是无聊的行为。还是写下来,毕竟很少弄这么无聊的事情。

        事情起因是需要给服务器做性能基数(baseline),用sqldiag 提取了大量的log信息,当然这里的数据库日志并不是指ldf文件。当我打开SQL 2005或2008的对象资源管理器-->管理-->SQL Server 日志察看发现日志大约有百万行,当然原因我就不说了。

        日志log数据太大怎么办?

        先查看日志log如何被调用的,在TSQL中执行

        

    [python] view plain copy
     
    1. --查看日志文件的存档号  
    2. EXEC master.dbo.sp_enumerrorlogs  

      

        显示结果为

        

        有了存档号,接着查看某一个日志文件异常大的log内容(图中的异常日志已经被清除了,所以这里记录的时候暂且认为存档#为4的日志是异常大文件)

        接下来看看存档4的log内容,在TSQL中执行

       

    [python] view plain copy
     
    1. --根据存档号查看该档日志内容  
    2. EXEC master.dbo.xp_readerrorlog 0  
    3. EXEC master.dbo.xp_readerrorlog 1  
    4. EXEC master.dbo.xp_readerrorlog 2  
    5. EXEC master.dbo.xp_readerrorlog 3  
    6. EXEC master.dbo.xp_readerrorlog 4  
    7. EXEC master.dbo.xp_readerrorlog 5  
    8. --因为我只需要查看文件大小异常的4号档,所以执行  
    9. EXEC master.dbo.xp_readerrorlog 4  

        通常结果会返回如下图的内容

        

        话说到这儿,才开始我那愚蠢且无聊的做法。(直到现在我仍然认为这个做法相当怪异)

        因为这个日志log内容非常大,大约为数百万行,导致用sqldiag提取的__sp_sqldiag_Shutdown.OUT文件大小有近2G。于是有清除这个日志的想法,因为已经备档(备档的方式是将内容存为文本),所以可以清除日志。

        于是我就想找到这个log内容是存放在数据库MASTER的哪个表中,以便于干掉它。找来找去,只让我看到xpstar.dll 和xpstar90.dll这些信息。既然是调用动态链接库,我也要看看这个dll的内容,于是从网上下载ReflectorDepends 进行反编译,接着反编译出错。

        到这里,其实GOD已经提醒我该走出去呼吸一下新鲜空气再回来思考,结果我没有那样做。这段过程大约花费近3个小时时间,用《 Becoming a Technical Leader 》里的话说,我已经进入了神游状态,当然我自己丝毫没有发觉。

        隔日清晨,来到办公室,当我下意识的打开系统中下面路径时,“密码”被破译了。其实只要删除log目录下ERRORLOG以及一系列ERRORLOG.1文件即可。

        X:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/Log

        其实我可以对自己说一句“神啊”,从结果看过程原来一切都是那么简单。

        当然,为了清除这个日志log内容,也有问一些朋友,不过他们都误以为我要清除ldf日志文件。写下来也是告诉自己:方向错了,停下来就是前进!!

  • 相关阅读:
    HTTP协议简介
    Hadoop日记Day1---Hadoop介绍
    Linux日记Day3---Linux的文件属性与目录配置
    Hadoop日记Day4---去除HADOOP_HOME is deprecated
    Android 系统名字、版本、API level的对应关系
    win10搭建selendroid测试环境
    初识selendroid
    学习selendroid初衷
    Contos 安装nodeJs环境
    Failed to write HTTP message,Could not write JSON错误
  • 原文地址:https://www.cnblogs.com/accumulater/p/6101358.html
Copyright © 2011-2022 走看看