TransactionScope:为什么某些机器上会发生 MSDTC 升级
TransactionScope 提高了数据访问层的事务性能。 然而,一个常见的问题是 MSDTC 升级在开发人员计算机上不一致。 本文探讨原因及解决方案。
MSDTC 升级的原因
MSDTC 升级发生在以下情况:
故障排除和解决方案
调查揭示了一个关键区别:没有升级的开发人员使用 SQL Server 2008,而遇到升级的开发人员则使用 SQL Server 2005。
SQL Server 2005 与 SQL Server 2008
SQL Server 2008:
SQL Server 2005:
对于 SQL Server 2005,在整个 TransactionScope 中维护单个全局范围的开放连接可以避免升级。 然而,这与延迟连接打开和迅速关闭的最佳实践相矛盾。
需要考虑的其他要点:
SqlTableAdapter
并预先打开其连接也可能会过早终止事务,从而导致升级。以上是为什么我的 TransactionScope 在某些计算机上自动升级到 MSDTC?的详细内容。更多信息请关注PHP中文网其他相关文章!