zoukankan      html  css  js  c++  java
  • sql2005数据库,在新增或更新数据时出现超时现象

    问题描述:
    1,sql2005数据库,在新增或更新数据时出现超时现象,大约10分钟左右没有响应,但是查询是没有问题的。
    2,用agent进行每天一次差异备份也出现了错误,已经10天左右没有进备份了。
    3,数据mdf文件5G,日志log文件37.5(为什么这么大)
    4,所在磁盘为NTFS格式(NTFS单文件最大为64G),剩余空间27G
    5,系统日志:
    unable to read local eventlog(reason:参数不正确) :可能和它没关系
    sqlserver日志:(在未响应时出现)
    Autogrow of file 'CardMis11_Log.ldf' in database 'CardMis11' was cancelled by the user or timed out
    ...
    一共连续4条,每次大约超时30秒左右

    问题分析:
    查询资料后,因为没有使错误重现,猜测原因:
    新增或更新数据时,需要写日志,而时日志文件原来分配的空间已经满了,按照日志文件默认的自动增长设置:
    增量为10%,不限制文件增长,些时系统要分配37.5G*10%=3.75G,在超时(不知道多少)内,假设分配没有完成,
    造成日志写入错误,数据新增或更新错误。

    问题解决:
    将数据库改为"简单"模式
    收缩日志文件
    将数据库改为"完全"模式
    修改日志文件增长模式:增量为500M,不限制文件增长

    未解问题:
    1,日志文件如果任其增长,也会受到磁盘剩余空间限制,系统单文件大小限制。增加在不同磁盘多少日志文件。
    可以进行日志备份后收缩处理。
    2,为什么30秒内分配3.75G的日志空间失败

    附:程序由C#开发
    SqlCommand.CommandTimeout,默认为30秒

  • 相关阅读:
    openGL线s的绘制
    openGL绘制正方形
    openGL的使用步骤
    [归并排序][逆序数]Brainman
    [动态规划]Tak and Cards
    [STL][stack]简单计算器
    [题解]2018湘潭邀请赛
    [数论][组合数学]Iroha and a Grid
    [STL][stack]括号配对问题
    [简单思维题]Sequence(山东省第九届ACM大学生程序设计竞赛E题)
  • 原文地址:https://www.cnblogs.com/noahsky/p/1588502.html
Copyright © 2011-2022 走看看