我有一个C#应用程序连接到SQL Server并调用SQL Server数据库上的存储过程并抛出:
超时已到期。
操作完成之前经过的超时时间或服务器没有响应 声明已经终止。
如果存储过程没有问题但运行时间超过超时值,数据库是否会继续运行它或者因为连接结束将导致数据库终止查询?
答案 0 :(得分:4)
如果连接丢失,SQL Server将回滚。 SQL Server依赖 在底层网络堆栈上报告连接丢失,为 如果您使用IP,则实施TCP prototol。如果TCP报告丢失 会话,然后SQL Server将使用.ldf中记录的信息 文件以回滚事务。如果客户端应用程序超时, 然后将一个显式信号发送到数据库引擎,称为 "注意",终止会话,SQL Server将回滚 交易。
答案 1 :(得分:0)
您的超时将由客户端管理,在这种情况下可能是ADO.NET(或其他)。
n秒后,客户端向服务器发送取消消息,服务器取消查询。