引起超时的原因及表解锁的方法
来源:互联网 发布:h3c mac地址认证 编辑:程序博客网 时间:2024/05/06 03:00
[Sql Server]超时时间已到。在操作完成之前超时时间已过或服务器未响应。
原因分析:
1.如果用到了事务处理
在事务开始BeginTransaction()与事务结束transaction.Commit()中间用到了没有启动事务的过程,如其他查询等,会提示此错误。另外一种情况就是没有正确的使用事务导致表被锁定,也会引起超时。
2.ADO.NET的使用引发的问题
connection未及时关闭也会引发超时的问题。另外就是Command命令执行超时,此时根据需要可以修改command.CommandTimeout的时间,默认时间为30秒。
3.Web页面执行超时,如上传大批量的文件
需要修改配置文件:
<system.web>
<httpRuntime maxRequestLength="102400" executionTimeout="720" />
</system.web>
表解锁的方法:
select id from sysobjects where name='TableName' --查询表名为TableName的表的id
exec sp_lock --执行该存储过程得到所有锁定的表的信息,根据前一步中查到的id可找到spid信息即进程ID
kill spid --解锁,例如kill 70 就是关闭进程id为70的锁定表的进程
以上是表解锁的方法,根本的解决方法还是得找出引起表被锁定的原因。我遇到的情况是未正确使用事务引起的。
另外,在未解锁的情况下可以使with (nolock)来执行SQL,例如select username from User with (nolock) where userid=101 。
参考:http://blog.csdn.net/Tonyzhou2008/archive/2009/12/18/5031823.aspx
http://blog.csdn.net/duanqingfeng/archive/2009/03/30/4036600.aspx
- 引起超时的原因及表解锁的方法
- 引起SQL数据库超时的问题分析及解决办法
- 引起SQL数据库超时的问题分析及解决办法
- 引起SQL数据库超时的问题分析及解决办法
- 引起pagefault的原因
- HttpWebRequest的GetRespons偶尔超时、死掉的原因及解决办法
- ArrayList引起的ConcurrentModificationException 异常原因及解决方法
- DB2环境变量设置引起的锁等待超时问题
- MongoDB 查询超时异常的原因及解决办法
- MongoDB 查询超时异常的原因及解决办法
- getDrawable()方法过时及引起的错误
- Oracle对表解锁的方法
- 引起电脑死机的原因
- 引起广播风暴的原因
- 引起ERROR500的可能原因
- 引起缺陷的典型原因
- 引起进程调度的原因
- 引起进程调度的原因
- Swt/Jface tableViewer入门教程一(显示tableViewer)
- POJ 1979 Red and Black(BFS广度优先搜索)
- SQL2005数据库备份脚本[差异][完整][异地]
- C++ 初学者指南 第四篇(10)
- 8.10 进程控制_exec函数
- 引起超时的原因及表解锁的方法
- 修改/etc/profile后,想让起立即生效的方法
- 用android做的一个简单的短信发送器(当然不包括群发)
- C++ 初学者指南 第四篇(11)
- Infinispan Analysis of Distribution
- 三星AMOLED技术有突破 有望在2010年赢利
- 用OSWorkFlow和JBPM开发工作流异同
- com.genuitec.eclipse.core.GenuitecCoreRTException: ECLIPSE_HOME is undefined.
- 努力中。。。