将分布式事务处理协调器与 SQL Server 配合使用的编程模型需要应用程序显式登记到分布式事务或从中脱离出来。
满足以下四个条件时会出现此错误:
-
应用程序已登记到分布式事务中。
-
无论原因如何,该事务已结束(已提交或回滚)。
-
用户应用程序并未显式地从分布式事务中脱离或显式地登记到新的分布式事务中。
-
应用程序尝试执行任何脱离现有分布式事务或登记到新的分布式事务以外的事务操作,如发出查询或启动本地事务。
错误状态 1 在应用程序执行创建本地事务的操作时使用,状态 2 在应用程序尝试登记到绑定会话时使用。