• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    sql server日志处理不当造成的隐患详解

    事故背景:一大早还在路上,群里陆续有人反馈系统一直报错 “ Unknown error 258 ”,后来查询日志发现错误日志

    第一反应是不是数据库连接不够用了?导致超时?但是通过sql查询当时连接也只有40个左右,于是继续排查问题,发现dbserver机器这段时间磁盘io操作特别的高,很不正常,详见下图


    发现磁盘io问题,继续查看sqlserver日志,发现原因: “Autogrow of file ‘xxxx_log' in database ‘xxxx' was cancelled by user or timed out after 3398 milliseconds.  Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly set a new file size.”


    发现这种问题因为log日志文件太大了一直没有压缩过,并且创建数据库的时候默认选择了10%的增量来扩大log增量文件,这样日志文件的10%会越来越大从而产生超时高io操作

    解决方案:

    1、定期清理log文件,防止log文件越来越大

     USE [master]
     GO
     ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT
     GO
     ALTER DATABASE 数据库名 SET RECOVERY SIMPLE
     GO
     USE 数据库名
     GO
     DBCC SHRINKFILE (N'数据库名_Log' , 11, TRUNCATEONLY) 
     GO
     USE [master]
     GO
     ALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAIT
     GO
     ALTER DATABASE 数据库名 SET RECOVERY FULL
     GO 

    2、修改默认数据库log增量10% 为 500M(看具体情况,一般够了)

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • SQL Server 2008 清空删除日志文件(瞬间日志变几M)
    • SQL Server 数据库清除日志的方法
    • SQL Server 压缩日志与减少SQL Server 文件大小的方法
    • SqlServer修改数据库文件及日志文件存放位置
    • SQL Server 2005删除日志文件的几种方法小结
    • SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案
    • SQL Server 2000 清理日志精品图文教程
    • sqlserver 数据库压缩与数据库日志(ldf)压缩方法分享
    • SQLServer日志清空语句(sql2000,sql2005,sql2008)
    上一篇:SQL SERVER中SELECT和SET赋值相同点与不同点(推荐)
    下一篇:SQL Server 日期和时间的内部存储过程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    sql server日志处理不当造成的隐患详解 sql,server,日志,处理不当,