为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

解决sql查询总是 超时已过期

2018-08-23 6页 doc 19KB 102阅读

用户头像

is_005190

暂无简介

举报
解决sql查询总是 超时已过期解决sql查询总是 超时已过期 解决SQL查询总是 超时已过期 1.由于数据库设计问题造成SQL数据库新增数据时超时 症状: , Microsoft OLE DB Provider for SQL Server 错误 '80040e31' ([ODBC SQL Server Driver]超时已过期); , 服务器上看CPU、内存占用率很低; , 事件日志中提示: 数据库 '*********' 中文件 '***********' 的自动增长在 453 毫秒后 已取消或出现超时。使用 ALTER DATABASE...
解决sql查询总是 超时已过期
解决sql查询总是 超时已过期 解决SQL查询总是 超时已过期 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 秒。 企业管理器中的设置: , 在企业管理器中,选择菜单上的"工具",再选择"选项"; , 在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡; , 在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 30。 查询分析器中的设置: 单击“工具”->"选项"->"连接"; 将登录超时设置为一个较大的数字,连接超时改为0。 3.查询语句时超时 原因分析: 查询超时一般来说首先要从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 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=mydataba se"Conn. Properties("Connect Timeout") = 15 '以秒为单位Conn.open DSNtest%, B. 如果遇到查询超时的错误,我们可以在程序中修改 Recordset 对象的超时设置,再打开结果集。例如: Dim cn As New ADODB.ConnectionDim rs As ADODB.Recordset. . . cmd1 = txtQuery.TextSet rs = New ADODB.Recordsetrs.Properties("Command Time Out") = 300'同样以秒为单位,如果设置为 0 表示无限制rs.Open cmd1, cnrs.MoveFirst. . . 另外,一些硬件及网络方面的原因也可能造成SQL数据库连接超时. 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 RECONFIGU RE GO sp_configure 'query wait', 2147483647 GO RECONF IGURE 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.ConnectionDim rs As ADODB.Recordset. . .cmd1 = txtQuery.TextSet rs = New ADODB.Recordsetrs.Properties("Command Time Out") = 300'同样以秒为单位,如果设 置为 0 表示无限制rs.Open cmd1, cnrs.MoveFirst. . . 另外,一些硬件及网络方面的原因 也可能造成SQL数据库连接超时.
/
本文档为【解决sql查询总是 超时已过期】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索