1 / 8
文档名称:

SQL数据库超时过期问题的解决方案.doc

格式:doc   大小:21KB   页数:8
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

SQL数据库超时过期问题的解决方案.doc

上传人:wz_198614 2017/9/29 文件大小:21 KB

下载得到文件列表

SQL数据库超时过期问题的解决方案.doc

文档介绍

文档介绍:SQL数据库超时过期问题的解决方案
减小字体增大字体
如果SQL的数据库越来越多,有时候会遇到读取超时,死锁等一大堆问题,按经验来说,数据结构设计不合理,经常使用视图等原因都有,那些怎么解决呢?下面看文章

症状:
Microsoft OLE DB Provider for SQL Server 错误'80040e31' ([ODBC SQL Server Driver]超时已过期);
服务器上看CPU、内存占用率很低;
事件日志中提示: 数据库'*********' 中文件'***********' 的自动增长在 453 毫秒后已取消或出现超时。使用 ALTER DATABASE 设置更小的 FILEGROWTH 或设置新的大小。
原因:
数据库设置时,[文件增长]按百分比来增长,当数据库文件很大时(1G以上),新增操作都会报超时,而这时候其实CPU、内存占用率都非常非常的低。解决方法:
把上述的文件增长这里设置为一个更低的百分比或者直接指定增加多少兆字节。
Server数据库超时设置
修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外
一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒。
企业管理器中的设置:
A、在企业管理器中,选择菜单上的"工具",再选择"选项";
B、在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡;
C、在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 30。
查询分析器中的设置:
单击“工具”->"选项"->"连接"; 将登录超时设置为一个较大的数字,连接超时改为0。

原因分析:
查询超时一般来说首先要从sql语句和数据表的结构上找原因,优化sql语句和为数据库的查询字段建索引是最常用的办法。
另外,数据库的查询超时设置一般是sqlserver自己维护的(在你没有修改query wait配置前),只有当你的实际查询时间超过估计查询时间的25倍时,才会超时。
而造成超出估计值那么多的原因有两种可能:
一是估计时间不准确;
二是sql语句涉及到大量占用内存的查询(如排序和哈希操作),内存不够,需要排队等待资源造成的。
解决办法:
,创建\使用合适的索引;
,更新要查询表的索引分发统计,保证估计时间的正确性,UPDATE STATISTICS 表名;

如果想手动设置查询超时,可以使用以下语句: sp_configure 'show advanced options', 1 GO RECONFIGURE GO sp_configure 'query wait', 2147483647 GO RECONFIGURE GO

故障:
在应用程序中我们也会遇到类似的错误信息,例如:
Microsoft OLE DB Provider for ODBC Drivers 错误'8