当关闭我的项目的基于 WebSphere 的 JavaEE 应用程序时,分布式事务有时会在 SQLServer 2005 数据库中保持活动状态。它们永远保留它们的锁,必须手动杀死。在这篇非常好的文章中对它们进行了一般性描述。
这篇文章讨论了事务协调器如何无法协调分布式事务参与者,因此将事务标记为进程 ID 为 -2。
鉴于我们很少遇到此问题,但它总是在我们关闭应用程序时发生,我不相信这是 MSDTC 的故障。它更有可能与 WebSphere 以及它如何终止应用程序有关。
我想测试一下。但我不能可靠地做到这一点。
有没有办法强制 MSDTC 孤立 SQLServer 分布式事务?