zoukankan      html  css  js  c++  java
  • SQL Server:查看SQL日志文件大小SQL脚本

    最近一周,连续出现了两次系统DOWN的事情,都是因为我们公司没有专门的DBA,一天是半夜被电话吵醒,好家伙,数据库的日志满了,系统前台任何提交的操作都不成功,除了查询.

    半夜赶回公司处理.

    另一个是TempDB爆了,也是出现同样的情况,不过这次是在周未,也很惨,JOBS都死了,下周怎么给用户报表啊!!!!!

    没有DBA,那我们小的就只有出了问题再处理,被动太被动了.

    我们得想办法让系统自动监视数据库文件大小,及日志文件大小。不应该人工一个一个数据库看大小,每天一个一个数据库的去查看文件大小就太费神了,要是能写个SQL脚本,建立一个JOB定时检查,每天自动去查看各个数据库文件及日志文件的大小,然后再通过数据库邮件,Email 到我们手中,岂不快哉!当然,可以把每天的记录存放到数据库中去,这样数据库及日志文件的增长趋势,我们也就一目了然了。也可以在达到一定的百份比后进行压缩或其它处理.

    获取数据库日志文件大小的方法。其实很简单

    DBCC 命令:dbcc sqlperf(logspace)

    我们执行命令可以得到以下结果:

    dbcc sqlperf(logspace)
    Database Name  Log Size (MB)            Log Space Used (%)       Status
    -------------- ------------------------ ------------------------ -----------
    master          2.2421875                32.600174                0
    tempdb         0.4921875                39.285713                0
    model           0.4921875                41.07143                 0
    msdb            2.2421875                30.901567                0
    pubs             0.7421875                49.934212                0
    Northwind      0.9921875                34.940945                0
    dbcc sqlperf(logspace) 可以获取实例中每个数据库日志文件大小,及使用情况。

    那我们不能每次都这样执行命令来看,应该放到一个表中保存起来.

    先创建一个数据表

    create table dbo.LogSize
    (
       dbname   nvarchar(50) not null
      ,logsize  decimal(8,2) not null
      ,logused  decimal(5,2) not null
      ,status   int          null
    )

    然后动态执行dbcc sqlperf(logspace)命令:
    insert into dbo.LogSize
    execute('dbcc sqlperf(logspace) with no_infomsgs')

    -----------------------------------------------------

      除了查日志,数据库文件的大小也是相同的道理

    查看数据库空间大小:sp_helpdb  or sp_helpdb(dbname)

  • 相关阅读:
    Jquery $().each()与$.each(data,function(i,obj))区别
    「人生最好的境界」​​写出我心(九十)
    「金融市场里的推销」​写出我心(八十九)
    「错误」写出我心(八十八)
    「马丁路德·金的名言」写出我心(八十七)
    「眼界」​​​​​​​​​​​写出我心(八十六)
    「一个人真正成年的三大标志」写出我心(八十五)
    「如何降低事件对你的伤害」​​​​​​​​​​写出我心(八十四)
    「眼界的重要性」​​​​​​​​​写出我心(八十三)
    「平视所有优秀的人」​​​​​​​​写出我心(八十二)
  • 原文地址:https://www.cnblogs.com/yiyumeng/p/1810635.html
Copyright © 2011-2022 走看看