数据库超时的其中一种情况
2006-06-20 08:37
309 查看
数据库超时的其中一种情况
2005年8月23日 10:29今天早上碰到了导致超时的一种不常见的特殊情况。特整理如下:
早上CSDN的论坛回复和发帖都一直报超时,错误信息是最常见的那种:
Microsoft OLE DB Provider for SQL Server 错误 '80040e31'
超时已过期
/Expert/reply.asp,行 110
服务器上看CPU、内存,都非常非常的低呀,这么低的占用率也能导致超时,我晕。后来到处查看,后来在事件日志中看到一个非警告的日志:
事件类型: 信息
事件来源: MSSQLSERVER
事件种类: (2)
事件 ID: 17055
日期: 2005-8-23
事件: 9:39:00
用户: N/A
计算机: ********
描述:
5144:
数据库 '*********' 中文件 '***********' 的自动增长在 453 毫秒后已取消或出现超时。使用 ALTER DATABASE 设置更小的 FILEGROWTH 或设置新的大小。
我倒竟然是数据库文件在增加的时候超时了。而不是平常常以为的具体的SQL语句超时。把 FILEGROWTH 设置为一个更低的值,ok 一切都恢复了。
FILEGROWTH 的设置就是在数据库的 Enterprise Manager 中,对数据库的属性的如下窗口进行设置:
一旦你的数据库文件大了后,上述超时就可能出现。这时候不要简单地以为服务器压力太大了。也许就是你的一个设置导致了超时。
反馈
# re: 数据库超时的其中一种情况
2005-8-23 10:35by
ghj1976
默认SQL Server 在数据库文件满了后,是自动增加原数据库文件的10%大小,用来继续使用。
如果你的数据库文件很大了,这时候麻烦就来了,CSDN 论坛的这次问题就是在增加这个数据库文件的时候超时了。
然后其它所有的新增操作都会报超时,而这时候其实CPU、内存占用率都非常非常的低。
# re: 数据库超时的其中一种情况
2005-8-23 10:36by
ghj1976
解决方法就是把上述的文件增长这里设置为一个更低的百分比或者直接指定增加多少兆字节。
# re: 数据库超时的其中一种情况
2005-8-23 10:38by
rIPPER
dba哪去了? :)
# re: 数据库超时的其中一种情况
2005-8-23 12:30by
ocean
没错,微软有专门一篇文章说这个问题:
http://support.microsoft.com/?id=305635
# re: 数据库超时的其中一种情况
2005-8-23 13:36by
Jacob
这是一个很土的问题,然而在企业的生产环境中经常遇到。不仅是数据文件满会导致此问题,日志文件满也一样。
某一条数据更新语句在数据库或日志文件即将满的时候执行,数据库增长的IO操作会导致延时,此延时会阻塞其他数据库操作,连锁反应,形成blocking。
其实此时找出一条正在阻塞的更新语句,在查询分析器中执行,此时是没有超市时间的。忍过几分钟,当这条语句执行完后,数据文件就会增长完成,所有的blocking也就解开了。
正如楼上的朋友所问,"dba哪去了?"。文件的监测和日志的truncate,本来就应该是dba常抓不懈的工作。
# re: 数据库超时的其中一种情况
2005-8-23 23:39by
ocean
其实此时找出一条正在阻塞的更新语句,在查询分析器中执行,此时是没有超市时间的。忍过几分钟,当这条语句执行完后,数据文件就会增长完成,所有的blocking也就解开了。
----------------------------
这句话好像不对,按照KB上的,这个申请文件增长的请求是被操作系统拒绝的,所以不是等几分钟执行完语句就能增长的。解决的方法还是把文件的增长大小设置为一个固定数值而不是百分比。
# re: 数据库超时的其中一种情况
2005-8-23 23:54by
Benny Ng
我还是不明白..那我要做的措施是什么?(针对这个情况)
# re: 数据库超时的其中一种情况
2005-8-24 15:53by
怡红公子
我在一年多以前就说过这个事情。
另外,用SQL2005就不容易遇到这个问题了哦。
数据库增加10G的大小也不过就是3秒钟。
# 哈哈!你被贴了。
2005-8-24 17:40by
透明
http://gigix.blogdriver.com/gigix/936726.html
# re: 数据库超时的其中一种情况
2005-8-25 1:43by
流言社
哎,到处都是“你小子被贴了”
# re: 数据库超时的其中一种情况
2006-3-8 10:45by
zjbmax
遇到数据库中很多进程被阻塞或死锁的情况怎么解决?(就是在sql2000的企业管理器的“管理”中的“当前活动”“锁/进程ID”中发现的)
相关文章推荐
- 数据库超时的其中一种情况
- MFC内存泄漏的问题的其中一种情况
- 数据库偶然出现死锁(等待锁超时)的情况处理:
- 还原数据库的其中一种方法
- 将n个相异的球按每小组m个球进行分组,不足m个的也算一个小组。输出所有可能的分组方式;对其中的一种分组方式,都指明每个小组包含的球的情况!
- SQL安装时出错,提示:安装程序配置服务器失败 参考服务器错误日志。针对其中一种情况的解决方法!
- spring初始化2次的一种情况:同一个项目在tomcat目录的webapps下保留了2份,例如其中一份作为备份。
- 数据库获取值抛空指针异常的一种情况
- [置顶] Android http get请求里中文是乱码的解决(其中一种情况)
- 当idea上传和下载按钮不见时,其中一种情况可能是如下原因引起
- 监控数据库运行情况的一种解决方案
- 安卓获取context是一个null对象的引用所出现的其中一种情况!坑
- 运行JSP时出现The requested resource (/proj3/MyJsp.jsp) is not available.出现这种情况的原因有多种,这是其中一种(亲测有用)
- QTcpSocket 对连接服务器中断的不同情况进行判定(六种情况,其中一种使用IsNetworkAlive API方法)
- ###maven项目间关系,又一种情况。两个项目(其中一个是jar格式)可以看作一个项目共用一个 Spring容器。
- VS2005中连接数据库“provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错”的一种情况
- ArcSDE在没有源码的情况下支持国产数据库的可能性分析
- erlang emysql 驱动 提取数据库 中文 出现 无法辨别的情况解决办法
- 数据库大小分布情况