sql数据库超时过期问题解决方案

sql数据库超时过期问题解决方案

ID:5323690

大小:42.00 KB

页数:5页

时间:2017-12-08

sql数据库超时过期问题解决方案_第1页
sql数据库超时过期问题解决方案_第2页
sql数据库超时过期问题解决方案_第3页
sql数据库超时过期问题解决方案_第4页
sql数据库超时过期问题解决方案_第5页
资源描述:

《sql数据库超时过期问题解决方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SQL数据库超时过期问题的解决方案减小字体增大字体如果SQL的数据库越来越多,有时候会遇到读取超时,死锁等一大堆问题,按经验来说,数据结构设计不合理,经常使用视图等原因都有,那些怎么解决呢?下面看文章1.由于数据库设计问题造成SQL数据库新增数据时超时 症状: MicrosoftOLEDBProviderforSQLServer错误'80040e31'([ODBCSQLServerDriver]超时已过期); 服务器上看CPU、内存占用率很低; 事件日志中提示:数据库'*********'中文件'***********'的自

2、动增长在453毫秒后已取消或出现超时。使用ALTERDATABASE设置更小的FILEGROWTH或设置新的大小。 原因: 数据库设置时,[文件增长]按百分比来增长,当数据库文件很大时(1G以上),新增操作都会报超时,而这时候其实CPU、内存占用率都非常非常的低。 解决方法: 把上述的文件增长这里设置为一个更低的百分比或者直接指定增加多少兆字节。2.SQLServer数据库超时设置 修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外一台SQLServer的超时设置是4秒,而查询分析器是15秒。 企业管理器中的设置:

3、  A、在企业管理器中,选择菜单上的"工具",再选择"选项";  B、在弹出的"SQLServer企业管理器属性"窗口中,点击"高级"选项卡;  C、在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如30。 查询分析器中的设置:  单击“工具”->"选项"->"连接";将登录超时设置为一个较大的数字,连接超时改为0。3.查询语句时超时  原因分析:  查询超时一般来说首先要从sql语句和数据表的结构上找原因,优化sql语句和为数据库的查询字段建索引是最常用的办法。   另外,数据库的查询超时设置一般是sq

4、lserver自己维护的(在你没有修改query wait配置前),只有当你的实际查询时间超过估计查询时间的25倍时,才会超时。  而造成超出估计值那么多的原因有两种可能:  一是估计时间不准确;  二是sql语句涉及到大量占用内存的查询(如排序和哈希操作),内存不够,需要排队等待资源造成的。  解决办法:  A.优化语句,创建使用合适的索引;  B.解决第一个问题的方法,更新要查询表的索引分发统计,保证估计时间的正确性,UPDATE STATISTICS 表名;  C.增加内存  如果想手动设置查询超时,可以使用以下语句

5、:   sp_configure 'show advanced options', 1   GO   RECONFIGURE   GO   sp_configure 'query wait', 2147483647   GO   RECONFIGURE   GO4.应用程序连接失败故障: 在应用程序中我们也会遇到类似的错误信息,例如: MicrosoftOLEDBProviderforODBCDrivers错误'80004005'.[Microsoft][ODBCSQLServerDriver]超时已过期.解决方法: A.如

6、果遇到连接超时的错误,我们可以在程序中修改Connection对象的超时设置,再打开该连接。例如:<%SetConn=Server.CreateObject("ADODB.Connection")DSNtest="DRIVER={SQLServer};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"Conn.Properties("ConnectTimeout")=15'以秒为单位Conn.openDSNtest%>  B. 如果遇到查询超时的错误,我们

7、可以在程序中修改Recordset对象的超时设置,再打开结果集。例如:DimcnAsNewADODB.ConnectionDimrsAsADODB.Recordset...cmd1=txtQuery.TextSetrs=NewADODB.Recordsetrs.Properties("CommandTimeOut")=300'同样以秒为单位,如果设置为0表示无限制rs.Opencmd1,cnrs.MoveFirst...另外,一些硬件及网络方面的原因也可能造成SQL数据库连接超时.呵呵,这个问题很有趣不是吗?上面的同志们只是

8、给出一些建议,以我的经验来看(oracle),如果数据量较大,索引的重复量尽量避免,最好的方式是建立非业务id(最好使用自增或是序列),把这个id建立索引。你的最大的问题就是,建立了索引后,索引列必须出现在where中,否则索引就白白建立了,比如你的id是从1一直到383000,那么你的语

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。