2014-03-19 210 views
2

我有一個長時間運行的查詢與許多事務(不嵌套),SQL Server會回滾一切,如果我會取消此查詢,或只是最後一個事務?取消長時間運行查詢

這樣的代碼:

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

假設Update 1完成,Update 2運行時,會發生什麼,如果我取消此查詢?

回答

3

由於您分別開始並提交每個事務,即使用顯式事務,回滾將僅限於當前正在運行的任何一個事務。它之前的那些已經被執行並且數據已經在數據庫中被更改了。

+1

好吧,只是想確定,謝謝! –