【发布时间】:2011-11-10 16:32:50
【问题描述】:
我有一个程序属于以下类型
BEGIN TRY
BEGIN TRAN
...transactins A....
BEGIN TRY
.... Transaction B ....
END TRY
BEGIN CATCH
.... Set variables and print messages ....
END CATCH
....Transaction C
COMMIT TRAN
END TRY
BEGIN CATCH
ROLLBACK TRAN
...Transaction D
END CATCH
事务 B 抛出错误,因此进程进入不可提交状态并抛出以下错误。我检查了 XACT_STATE() 的值是 -1
消息 3930,级别 16,状态 1,程序 xxxxxxxx,第 70 行 当前事务无法提交,也无法支持写入日志文件的操作。回滚事务。
有没有其他方法可以通过跳过事务 B 并执行事务 C 来克服这个问题
【问题讨论】:
标签: sql-server-2008 transactions try-catch xact-abort