我的编程空间,编程开发者的网络收藏夹
学习永远不晚

sqlserver日志处理不当而造成的隐患

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

sqlserver日志处理不当而造成的隐患

sqlserver日志处理不当而造成的隐患

 

事故背景:一大早还在路上,群里陆续有人反馈系统一直报错 “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文件越来越大

 

 1 USE [master]
 2 GO
 3 ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT
 4 GO
 5 ALTER DATABASE 数据库名 SET RECOVERY SIMPLE
 6 GO
 7 USE 数据库名
 8 GO
 9 DBCC SHRINKFILE (N"数据库名_Log" , 11, TRUNCATEONLY) 
10 GO
11 USE [master]
12 GO
13 ALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAIT
14 GO
15 ALTER DATABASE 数据库名 SET RECOVERY FULL
16 GO

 

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

 

 

 

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

sqlserver日志处理不当而造成的隐患

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sqlserver日志处理不当而造成的隐患

sqlserver日志处理不当而造成的隐患 事故背景:一大早还在路上,群里陆续有人反馈系统一直报错 “Unknown error 258”,后来查询日志发现错误日志        第一反应是不是数据库连接不够用了?导致超时?但是通过sql查询当时连接也只有40
sqlserver日志处理不当而造成的隐患
2018-01-17
SQLServer 错误 30089 全文筛选器后台程序宿主(FDHost)进程已异常停止。 如果在执行全文检索或查询处理期间配置错误或工作不正常的语言组件(如断字器、词干分析器或筛选器)造成了无法恢
2023-11-05

编程热搜

目录