【问题标题】:TransactionScope and "durable resources"TransactionScope 和“持久资源”
【发布时间】:2018-04-19 16:28:20
【问题描述】:

关于 TransactionScope 对象的快速问题。在网上找到了这个:

当您访问您的第一个持久资源管理器时,一个轻量级的 创建可提交事务以支持单个事务。 当您访问第二个持久资源管理器时,事务是 提升为分布式事务。

这看起来不错,但我不明白究竟什么是“耐用资源”。我知道 TransactionScope 仅适用于 SQL Server 2005 及更高版本,所以如果我需要访问 SQL Server 200,它不可能吗?磁盘上的文本文件怎么样?我一直听说当涉及磁盘访问时,您不能进行事务控制。也许这个对象有什么不同?

谢谢!

【问题讨论】:

    标签: c# sql-server transactions


    【解决方案1】:

    This link 讨论了持久资源管理器和易失性资源管理器之间的区别。

    澄清一下 - TransactionScopes 将与 earlier versions of SQL 一起使用,但是,轻量级事务管理器仅适用于 2005+。 SQL 2000 的事务将需要 DTC。

    还支持事务文件系统(Vista 及更高版本)- 看看here

    【讨论】:

      【解决方案2】:

      资源管理器有两种类型

      • 持久:即使发生系统故障,事务也是持久的。资源管理器会记住事务的状态。如果系统在两者之间关闭,则在重新启动时事务可以从其先前的状态继续。例如SQL Server DBMS 和 MSMQ。
      • 易变:对系统故障没有抵抗力,例如This 一些核心 .Net 类的事务实现。

      【讨论】:

        猜你喜欢
        • 2021-09-24
        • 2019-10-17
        • 1970-01-01
        • 2011-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-15
        • 1970-01-01
        相关资源
        最近更新 更多