13

有什么方法可以准确地确定 System.Transaction TrasactionScope 升级到 DTC 的原因?我们的一个组件似乎升级了事务,而所有其他组件(看起来很相似)都没有升级,我们遇到了一个问题。

是否提供了有关升级原因以及如何找到和观察这些原因的任何信息?SQL 探查器?日志文件?还是我在这方面不走运?

更新:我正在针对 SQL Server 2005 运行以获取信息

4

2 回答 2

9

TransactionScope每当应用程序在相关事务范围内打开第二个连接(甚至是同一个数据库)时,使用事务就会升级。

于 2009-02-03T11:23:49.293 回答
7

您可以尝试关闭分布式事务协调器服务并将其启动类型设置为禁用。当事务被提升时,这将导致异常,该事务将在调用堆栈中有问题代码。

当然,如果您在需要此服务的机器上运行其他项目,这将无济于事,但在调试机器上是可能的。

于 2009-02-03T11:32:48.420 回答