引起SQL数据库超时的一种问题_动易Cms教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
错误信息是最常见的那种:Microsoft OLE DB Provider for SQL Server 错误 '80040e31' ([ODBC SQL Server Driver]超时已过期)
服务器上看CPU、内存,都非常非常的低呀,这么低的占用率也能导致超时!后来到处查看,后来在事件日志中看到一个非警告的日志:
其实此时找出一条正在阻塞的更新语句,在查询分析器中执行,此时是没有超时时间的。忍过几分钟,当这条语句执行完后,数据文件就会增长完成,所有的blocking也就解开了
服务器上看CPU、内存,都非常非常的低呀,这么低的占用率也能导致超时!后来到处查看,后来在事件日志中看到一个非警告的日志:
事件类型: 信息
事件来源: MSSQLSERVER
事件种类: (2)
事件 ID: 17055
日期: 2005-8-23
事件: 9:39:00
用户: N/A
计算机: ********
描述:
5144:
数据库 '*********' 中文件 '***********' 的自动增长在 453 毫秒后已取消或出现超时。使用 ALTER DATABASE 设置更小的 FILEGROWTH 或设置新的大小。
竟然是数据库文件在增加的时候超时了!而不是平经常以为的具体的SQL语句超时。把 FILEGROWTH 设置为一个更低的值,ok 一切都恢复了。
FILEGROWTH 的设置就是在数据库的 Enterprise Manager 中,对数据库的属性的如下窗口进行设置:
一旦你的数据库文件大了后,上述超时就可能出现。这时候不要简单地以为服务器压力太大了。也许就是你的一个设置导致了超时。
默认SQL Server 在数据库文件满了后,是自动增加原数据库文件的10%大小,用来继续使用。
假如你的数据库文件很大了,这时候麻烦就来了,因为大文件*10%,是很大的。
然后其它所有的新增操作都会报超时,而这时候其实CPU、内存占用率都非常非常的低。
假如你的数据库文件很大了,这时候麻烦就来了,因为大文件*10%,是很大的。
然后其它所有的新增操作都会报超时,而这时候其实CPU、内存占用率都非常非常的低。
解决方法就是把上述的文件增长这里设置为一个更低的百分比或者直接指定增加多少兆字节。
这个问题,在企业的生产环境中经常碰到。不仅是数据文件满会导致此问题,日志文件满也一样。某一条数据更新语句在数据库或日志文件即将满的时候执行,数据库增长的IO操作会导致延时,此延时会阻塞其他数据库操作,连锁反应,形成blocking。
其实此时找出一条正在阻塞的更新语句,在查询分析器中执行,此时是没有超时时间的。忍过几分钟,当这条语句执行完后,数据文件就会增长完成,所有的blocking也就解开了
相关动易Cms教程:
- MAC错误的解决方法
- 如何屏蔽动易后台导航里的某个功能菜单?
- 动易.NET版本留言自动选定栏目方法
- 动易SiteFactoty整合Discuz!NT3.0
- 在任意位置获取根节点ID标签
- 如何开启SiteWeaver6.8的支持,反对功能
- Windows 2008安装动易.NET系统之四----动易系统安装篇
- Windows 2008安装动易.NET系统之三----数据库篇
- Windows 2008安装动易.NET系统之二----IIS、目录环境配置篇
- 数据库修复,SQL Server 2005内部操作不一致的处理
- 如何安装动易.net程序权限配置
- 为什么提示对Windows系统文件夹下的Temp目录没有访问权限?
- 相关链接:
- 教程说明:
动易Cms教程-引起SQL数据库超时的一种问题。