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秒

  • 相关阅读:
    在mvc4中上传、导入和导出excel表方法总结
    ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
    .net下使用NPOI读取Excel表数据
    详解免费高效实用的.NET操作Excel组件NPOI(转)
    Vue 定时执行函数
    decorators.xml的用法
    行内元素和块级元素
    C/C++中printf和C++中cout的输出格式
    IIS 搭建过程
    IIS访问共享文件详解
  • 原文地址:https://www.cnblogs.com/noahsky/p/1588502.html
Copyright © 2011-2022 走看看