如果我运行使用的SqlCommand和SqlCommand的超时请问StoredProc继续执行或是否得到力量退出的SqlCommand断开时,存储过程?存储过程和SqlCommand的超时
6
A
回答
3
我的直觉说,该过程仍然会执行,所以我一起扔一个简单的测试。
SQL:
Create Procedure TestDelay
AS
waitfor delay '00:00:40'
update table_1
set dt = getdate()
而且在VB.Net(同C#的了):
Dim con As New SqlConnection(myconnectionstring)
Dim com As New SqlCommand("TestDelay", con)
com.CommandType = CommandType.StoredProcedure
con.Open()
Try
com.ExecuteNonQuery()
Catch ex As Exception
con.Close()
Response.Write(ex.Message)
End Try
结果? 超时后程序没有完成。我查了一下在SQL事件探查器跟踪过程中发生的事情,果然SQL似乎包裹中的呼叫交易,必须推出该交易重新站上超时。
注:该测试是针对2005年的SQL运行,但我怀疑的结果是在其他版本类似。
1
作为布伦丹所述,客户端发送一个“异常终止”并停止处理死。就如此容易。
然而,比这更复杂......
任何交易不会回滚默认和锁刚离开那里,直到连接被关闭。如果返回到连接池和重复使用,那么这个不算作收盘。
这就是为什么SET XACT_ABORT ON
(其它问题SO1,SO2)建议
相关问题
- 1. SqlConnection和SqlCommand超时
- 2. 存储过程超时
- 3. IBATIS - 存储过程超时
- 4. .Net SQLCommand在执行存储过程时超时,它不返回任何记录
- 5. MySQL的存储过程循环超时
- 6. 处理存储过程中的超时
- 7. 存储过程间歇性超时!
- 8. sqlCommand并以编程方式检索和设置存储过程的参数
- 9. SqlCommand - 防止其他数据库中的存储过程调用
- 10. 如何在使用SqlCommand执行存储过程时防止出现超时错误?
- 11. 增加LINQ to SQL存储过程调用的超时时间
- 12. 使用存储过程从SQLCommand填充WPF数据网格
- 13. 间歇SQL Server超时和存储过程的执行时间差异很大
- 14. 存储过程超时 - 但从SSMS运行时很好
- 15. 执行存储过程时SQL Server超时
- 16. 执行存储过程时EntityFramework获取超时
- 17. 存储过程和扩展存储过程之间的区别
- 18. 存储过程添加超链接
- 19. 临时和永久存储过程
- 20. 临时表和存储过程编译
- 21. 存储过程和临时表
- 22. 存储库模式和存储过程
- 23. 如何增加SQL Azure存储过程中的超时
- 24. 在SQL Server 2005的存储过程设置查询超时
- 25. 非常简单的存储过程将超时
- 26. sql server存储过程超时并且查询不超时,为什么?
- 27. 如何增加SqlCommand的连接超时?
- 28. 何时在存储过程中使用CTE在存储过程
- 29. Oracle:Java存储过程和过程
- 30. 超过Firebase存储配额?
正确的,至少回SQL 7 – gbn 2009-11-11 19:53:55