根事務要確認,但事務中止了操作—解決辦法
?
SQL 報如上的錯誤:是因為 沒有使用 SET XACT_ABORT ON
?
begin?tran/***/commit?tran 之前使用了?SET XACT_ABORT ON?才能回滾
?
?
----------------------------
當 SET XACT_ABORT 為 ON 時,如果 Transact-SQL 語句產生運行時錯誤,整個事務將終止并回滾。為 OFF 時,只回滾產生錯誤的 Transact-SQL 語句,而事務將繼續(xù)進行處理。編譯錯誤(如語法錯誤)不受 SET XACT_ABORT 的影響。
對于大多數 OLE DB 提供程序(包括 SQL Server),隱性或顯式事務中的數據修改語句必須將 XACT_ABORT 設置為 ON。唯一不需要該選項的情況是提供程序支持嵌套事務時。有關更多信息,請參見分布式查詢和分布式事務。
SET XACT_ABORT 的設置是在執(zhí)行或運行時設置,而不是在分析時設置。





