我们在MSDTC设置中遇到了一些经常出现的问题,现在我们正在考虑用SqlTransactions代替SystemTransactions。
我感兴趣的是上述不同之处,以及我们可能会遇到的问题。
发布于 2013-01-10 17:17:08
这篇文章引用并引用了Massimiliano 7岁时引用的文章,因此只引用了.NET 2.0和Server 2000和2005。然而,我相信这些要点对于以后的版本仍然有效。我很难找到对后续版本中的任何更改直接适用的评论。
在Server 2008和更高版本中,针对单个数据库的System.TransactionScope事务被提升到DTC的可能性比在旧版本下低。
相关:SqlClient、System.Transactions、Server 2008和MARS
因此,取决于您的Server版本,您在对单个数据库使用System.Transactions时或多或少会遇到麻烦。
System.Transactions的代码比SqlTransactions的代码更轻,但是处理开销更高,并且没有那么显式的控制。
发布于 2012-08-28 10:28:33
System.Transactions 并不是SqlTransaction的替代品。
但就单个数据库而言,基于ADO.NET 2.0 System.Transactions的事务与常规SqlTransaction之间最大的区别是“隔离级别”。然而,这是一个很大的不同。让我稍后进入隔离级别,但在此之前,您必须意识到,在Sql 2k中,即使涉及一个数据库,事务也将由MSDTC管理。对于Sql2k5,事务由LTM管理,直到连接到不同数据库的第二个SqlConnection出现为止。当这种情况发生时,交易就会从LTM上升到MSDTC。
Transactions.aspx
https://stackoverflow.com/questions/12157341
复制相似问题