文谷首页 | 业界传真 | 网络技术 | 服务器 | 数据库 | 存储技术 | 系统安全 | 无线技术 | Cisco | .Net | Windows | Linux | Unix | Java
电子商务 | 网站工程 | 网页设计 | 平面设计 | 多媒体 | 编程语言 | Oracle | MSSQL | Photoshop | ASP | PHP | 实用技巧 | 进程查询 | 文谷论坛
SQL Server
没有任何子栏目
您现在的位置: IT文谷 >> 数据库技术 >> SQL server >> 正文
Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法
Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法
Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法
Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法

Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法

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数据库连接超时.

Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 进入论坛讨论

    相关文章
    如何将ms sql server数据库设置为自动清除事务日志?
    教你如何清除SQL日志 关于SQL Server事务日志的问题汇总
    Discuz!NT SQL版本首页帖子调用方法
    Access升迁SQL Server
    如何将 Access 数据库转换到 SQL Server
    MYSQL常见出错代码!
    MySQL服务器的启动与停止
    如何恢复MYSQL的ROOT口令
    MySQL数据的导出和导入工具:mysqldump
    MySQL中文参考手册--8.MySQL教程--8.1 连接与断开服务者
    MySQL 安装与使用
    MySql正则表达式的描述
    热门文章最新推荐

    版权与免责声明:
    ① 本网转载其他媒体稿件是为传播更多的信息,此类稿件不代表本网观点,版权归原作者所有,本网不承担此类稿件侵权行为的连带责任。
    ② 本站原创文章,转载时请注明出自文谷及作者姓名
    ③在本网BBS上发表言论者,文责自负。
    ④如您因版权等问题需要与本网联络,请在30日内联系 。
    Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法
    Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法2008-3-6 23:29:30Microsoft OLE DB Provider for SQL Server 错误 80040e31 解决方法

    全站热点
    最新推荐
    关于文谷 | 联系文谷 | 免责声明 | 文谷论坛
    Tel: 0577-65690019      E-mail: ichenjian@gmail.com    MSN:ichenjian@hotmail.com    QQ:2911194
    Copyright © 2004-2008 wengu.com 文谷 All Rights Reserved
    浙ICP备05000327号