1.由于数据库设计问题造成SQL数据库新增数据时超时
症状:
Microsoft OLE DB Provider for SQL Server 错误 '80040e31' ([ODBC SQL Server Driver]超时已过期);
服务器上看CPU、内存占用率很低;
事件日志中提示: 数据库 '*********' 中文件 '***********' 的自动增长在 453 毫秒后已取消或出现超时。使用 ALTER DATABASE 设置更小的 FILEGROWTH 或设置新的大小。
原因:
数据库设置时,[文件增长]按百分比来增长,当数据库文件很大时(1G以上),新增操作都会报超时,而这时候其实CPU、内存占用率都非常非常的低。
解决方法:
把上述的文件增长这里设置为一个更低的百分比或者直接指定增加多少兆字节。
2.SQL Server数据库超时设置
修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,而查询分析器是 15 秒。
企业管理器中的设置:
A、在企业管理器中,选择菜单上的"工具",再选择"选项";
B、在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡;
C、在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 30。
查询分析器中的设置:
单击“工具”->"选项"->"连接"; 将登录超时设置为一个较大的数字,连接超时改为0。
3.查询语句时超时
原因分析:
查询超时一般来说首先要从sql语句和数据表的结构上找原因,优化sql语句和为数据库的查询字段建索引是最常用的办法。
另外,数据库的查询超时设置一般是sqlserver自己维护的(在你没有修改query wait配置前),只有当你的实际查询时间超过估计查询时间的25倍时,才会超时。
而造成超出估计值那么多的原因有两种可能:
一是估计时间不准确;
二是sql语句涉及到大量占用内存的查询(如排序和哈希操作),内存不够,需要排队等待资源造成的。
解决办法:
A.优化语句,创建/使用合适的索引;
B.解决第一个问题的方法,更新要查询表的索引分发统计,保证估计时间的正确性,UPDATE STATISTICS 表名;
C.增加内存
如果想手动设置查询超时,可以使用以下语句:
sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
sp_configure 'query wait', 2147483647
GO
RECONFIGURE
GO
4.应用程序连接失败
故障:
在应用程序中我们也会遇到类似的错误信息,例如:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'. [Microsoft][ODBC SQL Server Driver]超时已过期.
解决方法:
A.如果遇到连接超时的错误,我们可以在程序中修改 Connection 对象的超时设置,再打开该连接。例如:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"
Conn. Properties("Connect Timeout") = 15 '以秒为单位
Conn.open DSNtest
%>
B. 如果遇到查询超时的错误,我们可以在程序中修改 Recordset 对象的超时设置,再打开结果集。例如:
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
. . .
cmd1 = txtQuery.Text
Set rs = New ADODB.Recordset
rs.Properties("Command Time Out") = 300
'同样以秒为单位,如果设置为 0 表示无限制
rs.Open cmd1, cn
rs.MoveFirst
. . .
另外,一些硬件及网络方面的原因也可能造成SQL数据库连接超时.
分享到:
相关推荐
SQL数据库超时过期问题的解决方案
本文介绍了Sql Server数据库超时问题的解决方法。
Sql server 2000 的等待响应时间
解决SQL数据库程序挂起问题,解压,导入注册表,再次安装即可!
sql数据库日志已满的解决办法
SQL-SERVER数据库连接超时的原因分析.pdf
SQL数据库语句生成及分析
SQL数据库挂起解决办法SQL数据库挂起解决办法
1. (分值:1.0 分)在MS SQL Server 中,关于数据库的说法正确的是( ) A: 一个数据库可以不包含事务日志文件。 B: 一个数据库可以只包含一个事务日志文件和一个数据库文件。 C: 一个数据库可以包含多个数据库文件...
SQL数据库的管家婆出错分析及修复方法 SQL数据库 修复 出错 分析 方法
假设数据库为TEST: 按以下步骤执行 A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。 B.停掉数据库服务器。 C.将刚才生成的数据库的日志文件...
本程序用于SQL修复数据库置疑问题而导致无法启动的问题,需要输入服务器IP及操作员口令。本工具针对SQLServer数据库置疑的检测和修复,数据库支持版本:MSDE\SQL2000\SQL2005\SQL2008。当SQLSERVER数据库因各种原因...
1、描述:数据库服务器,磁盘满了,要将一个比较大的数据库文件,移到另一个磁盘,移完后,重新附加数据库出现“只读”提示。(如图) 2、本以为,在 “属性-选项-状态” 中直接将 “数据库为只读”选项,由true 设...
SQL数据库 置疑 命令 多方整理!值得收藏!
sql数据库质疑解决办法
基于SQL数据库的性能优化问题分析,很不错的东东哦
SQL数据库中的锁问题
win10 中安装 navicate premuim12 与sqlserver 2012客户端连接sqlserver数据库时遇到问题及解决方法
该数据库防火墙套装是GreenSQL公司提供的SQL数据库全面安全解决方案。作为数据库前端安装,为数据库提供伪装和防护。 作为SQL数据库的代理,GreenSQL提供多种数据库保护和加速功能,包括自学习、数据库规则防火墙、...