SQL数据库超时过期问题的解决方案_第1页
SQL数据库超时过期问题的解决方案_第2页
SQL数据库超时过期问题的解决方案_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL数据库超时过期问题的解决方案减小字体 增大字体SQL按经验来说,数据结构设计不合理,经常使用视图等原因都有,那些怎么解决呢?下面看文章SQL数据库新增数据时超时症状:MicrosoftOLEDBProviderforSQLServer错误'80040e31'([ODBCSQLServerDriver]超时已过期);服务器上看CPU、内存占用率很低;:数据库'*********'中文件'***********'的自动增长在453毫秒后已取消或出现超时。使用ALTERDATABASE设置更小的FILEGROWTH或设置新的大小。原因:数据库设置时,[文件增长]按百分比来增长,当数据库文件很大时(1G以上),新增操作都会报超时,而这时候其实CPU、内存占用率都非常非常的低。解决方法:把上述的文件增长这里设置为一个更低的百分比或者直接指定增加多少兆字节。SQLServer数据库超时设置修改客户端的连接超时设置。默认情况下,通过企业管理器注册另外一台Server的超时设置是4秒,而查询分析器是15秒。企业管理器中的设置:A、在企业管理器中,选择菜单上的"工具",再选择"选项";B、在弹出的"SQLServer企业管理器属性"窗口中,点击"高级"选项卡;C、在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如30。查询分析器中的设置:单击“工具”->"选项"->"连接";将登录超时设置为一个较大的数字,连接超时改为0。原因分析:查询超时一般来说首先要从sql语句和数据表的结构上找原因,优化sql语句和为数据库的查询字段建索引是最常用的办法。另外,数据库的查询超时设置一般是sqlserver自己维护的(在你没有修改query wait配置前),只有当你的实际查询时间超过估计查询时间的25倍时才会超时。而造成超出估计值那么多的原因有两种可能:一是估计时间不准确;sql语句涉及到大量占用内存的查询(如排序和哈希操作),需要排队等待资源造成的。解决办法:,;解决第一个问题的方,更新要查询表的索引分发统计保证估计时间的正性,UPDATE STATISTICS 表;增加内存如果想手动设置查询超时,可以使用以下语句:sp_configure 'show advanced options', GOGOsp_configure 'query wait', GOGO应用程序连接失败故障:在应用程序中我们也会遇到类似的错误信息,例如:MicrosoftOLEDBProviderforODBCDrivers错误'80004005'.[Microsoft][ODBCSQLServerDriver].解决方法:如果遇到连接超时的错误,我们可以在程序中修改Connection对象的超时设置,再打开该连接。例如:<%SetConn=Server.CreateObject("ADODB.Connection")DSNtest="DRIVER={SQLServer};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"Conn.Properties("ConnectTimeout")=15'以秒为单位Conn.openDSNtest%>B.B.如果遇到查询超时的错误,我们可以在程序中修改Recordset对象的超时设置,再打开结果集。例如:DimcnAsNewADODB.ConnectionDimrsAsADODB.Recordset...cmd1=txtQuery.TextSetrs=NewADODB.Recordsetrs.Properties("CommandTimeOut")=300'同样以秒为单位,如果设置为0表示无限制rs.Opencmd1,cnrs.MoveFirst...另外,一些硬件及网络方面的原因也可能造成SQL数据库连接超时.呵呵,这个问题很有趣不是吗?上面的同志们只是给出一些建议,以我的经验来看(oracle),用自增或是序列),id建立索引。whereid1383000,那么你的语句可以写成select*fromhr_worktimewhereid>-1还有就是,where条件中避免出现!=,or,between,等东西,否则索引实效。SQL查询速度慢的原因查询速度慢的原因很多,常见如下几种:(这是查询)2、I/O吞吐量小,形成了瓶颈效应。、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢6、查询出的数据量过大)7(这也是查询慢最常见的问题,是程序设计的缺陷)8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。、返回了不必要的行和列10可以通过如下方法来优化查询:1、把数据、日志、索引放到不同的I/OTempdbRAID0上,SQL2000()I/O.2(sp_spaceuse)、升级硬件,(最好是使...CREATEINDEX为给定表或视图创建索引。只有表或视图的所有者才能为表创建索引。表或视图的所有者可以随时创建索的表或视图创建索引。语法CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEXindex_nameON{table|view}(column[ASC|DESC][,...n])[WITH<index_option>[,...n]][ONfilegroup]<index_option>::={PAD_INDEX|FILLFACTOR=fillfactorIGNORE_DUP_KEY|DROP_EXISTING|STATISTICS_NORECOMPUTE|SORT_IN_TEMPDB}--10001990行是男,那么它不如直接扫描了,这是选择性CREATE[UNIQUE][CLUSTERED│NONCLUSTERED]INDEXindex_nameON{table│view}(column[ASC│DESC][,…n])例1:为表jbxx创建一个非聚集索引,索引字段为employee_name,索引名为i_employeenamecreateindexi_employeenameonjbxx(employee_name)例2:新建一个表,名称为temp,为此表创建一个惟一聚集索引,索引字段为temp_number,索引名为i_temp_number。usestudentCreatetablet_temp(temp_numberint,temp_namechar(10),temp_ageint)createuniqueclusteredindexi_temp_numberont_temp(temp_number)例3:为表s创建一个复合索引,使用sex和birthday字段。UsestudentCreateindexi_sons(sex,birthday)(一)使用企业管理器查看、修改和删除索引的操作”选项,在出现的管理索引对话框中,选择要查看或修改““”部分设置,还可以直接修改其SQL“SQL”“编辑Transact_SQl对话框,在此可以编辑、分析、执行索引的Transact_SQl脚本。“属性选项,在打开的设计表的窗口中,属性索引/键选项卡,在此对话框中,先选定要修改索引名称的”文本框中输入心得索引名称替换原来的索引名称。要删除索引,可以在“管理索引”对话框中或表的“属性”对话框中,选择要删除的索引,单击“删除”按钮,即可删除索引。(二)使用T_SQL查看、修改和删除索引的操作使用系统存储过程查看索引信息,语法如下:sp_helpindex[@objname=]„name‟例1:查看jbxx表的索引信息sp_helpindexjbxx使用系统存储过程修改索引名称,语法如下:sp_rename[@objname=]„object_name‟,[@newname=]„new_name‟[,[@

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论