取消长时间运行的查询

时间:2014-03-19 10:24:37

标签: sql sql-server sql-server-2012

我有一个长时间运行的查询,包含许多事务(不是嵌套的),如果我取消此查询,或者只是最后一次交易,SQL Server会回滚所有内容吗?

代码如:

Begin tran
Update...1
Commit
Begin tran
Update...2
Commit
Begin tran
Update...3
Commit

假设Update 1已完成且Update 2正在运行,如果我取消此查询会怎样?

1 个答案:

答案 0 :(得分:3)

由于您单独开始并提交每个事务,即使用显式事务,因此回滚将仅限于当前正在运行的任何事务。之前的那些已经执行,数据已在DB中更改。