解决“System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应”一例
时间:2011-04-12 来源:fengyu_f
环境:windows 2003 + IIS 6.0 + Sql Server 2005
Sqlserver 数据库(.mdf) 将近4G的数据。
症状:网站频繁出现“System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应”这个错误。
解决方案:
问题出现的原因大概是以下几个方面:
1、如果你通过超时时间设置,解决了上述问题,你可能需要优化你的Sql语句,索引等。
//超时时间
SqlCommand cmd = new SqlCommand();
cmd .CommandTimeout=60;//时间设为60秒
//通过数据库的设置,以Sqlserver 2005为例:
(菜单)工具——>选项——>设计器——>事务超时时间【设置为60秒】
2、如果上述方案没有解决你遇到的问题,那么检查一下你的数据库文件的自动增长,可能是因为你网站或者应用程序的数据增长过快所致,可以通过设置数据库自动增长量来避免此问题。
//通过数据库设置,以Sqlserver 2005为例:
数据库——>右键(属性)——>文件——>自动增量——>选择文件增长(按百分比:10%,建议你这么设置,或许你有更好的设置方案)。
到此,此问题解决。
相关阅读 更多 +