SQL-正在等待回滚完成
本文关键字:在等待 SQL- | 更新日期: 2023-09-27 18:28:29
我正在使用超时300秒的CommittableTransaction
删除大量记录。偶尔我会得到一个错误
SqlException:超时已过期。在操作完成或服务器没有响应之前经过的超时时间。
似乎在超时之后,SQL会自动执行回滚,回滚需要大约200秒才能完成。
但我当前的C#代码,捕获SqlException
并检查TransactionStatus
(即Aborted
),然后继续。由于回滚正在进行中,我应该等待回滚完成。有没有办法找到回滚状态?或者我该如何处理这种情况?
从这里开始使用CommittableTransaction 实现显式事务
CommittableTransaction对象可以跨函数调用和螺纹。但是,这取决于应用程序开发人员异常,并在故障。
我认为您可以在捕获块中显式调用Transaction.Rollback(Exception)SqlException。所以您等待回滚操作完成。