`
f543711700
  • 浏览: 322864 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

分布式事务原理概述(来自MSDN)

 
阅读更多
http://msdn.microsoft.com/zh-cn/library/ms191440.aspx

分布式事务(数据库引擎)
SQL Server 2008 R2
其他版本

分布式事务跨越两个或多个称为资源管理器的服务器。称为事务管理器的服务器组件必须在资源管理器之间协调事务管理。如果分布式事务由 Microsoft 分布式事务处理协调器 (MS DTC) 之类的事务管理器或其他支持 Open Group XA 分布式事务处理规范的事务管理器来协调,则在这样的分布式事务中,每个 SQL Server 数据库引擎实例都可以作为资源管理器来运行。有关详细信息,请参阅 MS DTC 文档。

跨越两个或多个数据库的单个数据库引擎实例中的事务实际上是分布式事务。该实例对分布式事务进行内部管理;对于用户而言,其操作就像本地事务一样。

对于应用程序而言,管理分布式事务很像管理本地事务。当事务结束时,应用程序会请求提交或回滚事务。不同的是,分布式提交必须由事务管理器管理,以尽量避免出现因网络故障而导致事务由某些资源管理器成功提交,但由另一些资源管理器回滚的情况。通过分两个阶段(准备阶段和提交阶段)管理提交进程可避免这种情况,这称为两阶段提交 (2PC)。

准备阶段

    当事务管理器收到提交请求时,它会向该事务涉及的所有资源管理器发送准备命令。然后,每个资源管理器将尽力使该事务持久,并且所有保存该事务日志映像的缓冲区将被刷新到磁盘中。当每个资源管理器完成准备阶段时,它会向事务管理器返回准备成功或准备失败的消息。



提交阶段

    如果事务管理器从所有资源管理器收到准备成功的消息,它将向每个资源管理器发送一个提交命令。然后,资源管理器就可以完成提交。如果所有资源管理器都报告提交成功,那么事务管理器就会向应用程序发送一个成功通知。如果任一资源管理器报告准备失败,那么事务管理器将向每个资源管理器发送一个回滚命令,并向应用程序表明提交失败。

数据库引擎应用程序可以通过 Transact-SQL 或数据库 API 来管理分布式事务。
分享到:
评论

相关推荐

    Transaction 分布式事物的应用举例

    自定义事物类,以及 System....System.Transactions 基础结构通过支持在 SQL Server、ADO.NET、MSMQ 和 Microsoft 分布式事务协调器 (MSDTC) 中启动的事务,使事务编程在整个平台上变得简单和高效、看来没别的对象了。

    来自MSDN的复杂布局示例

    此示例演示如何通过在父级 DockPanel 中嵌套 TextBlock、Button 和 DockPanel 来构造复杂的可扩展应用程序标记语言 (XAML) 布局

    MSDN2005绿色便携版MSDN

    首先声明,这份资源是amo_xoo的毛哥.NET 2.0便携参考(绿色MSDN) 2.0 彻底版,但他那个分了9个包,下载起来很不方便,所以就引用过来,方便大家下载。 微软MSDN在线库虽然全,但有时不方便上网,而MSDN Library安装...

    MSDN-library-vchelp.rar_MSDN library chm_MSDN-library_msdn_msdn

    vc++6.0 MSDN Library chm

    [MSDN].msdn_oct_2001

    [MSDN].msdn_oct_2001 适用于vc++6.0,最后一个版本。分成7个文件上传

    VC++ 6.0 msdn中文版

    中文版msdn,需然小了点,不过对入门都来说是不错的选择....

    MSDN帮助文档中文.zip

    最新MSDN帮助文档中文版 离线包,自己存储使用 最新MSDN帮助文档中文版 离线包,自己存储使用 最新MSDN帮助文档中文版 离线包,自己存储使用 小白方便查看

    C# 文档msdn.pdf

    C#msdn文档,内容非常齐全,堪称C#词典 pdf格式带有书签,可作为C#工具书使用,检索学习方便 本人做C#开发5年常翻阅,各位可根据情况下载使用

    MSDN离线库更新至20201102

    适用于Visual Studio 2019的MSDN Library离线库,更新至20201102。 1. 首先在VS中,勾选单个组件安装好Help Viewer 2.3。 2. 在VS界面中,“帮助”-“添加和删除帮助内容”,启动Help Viewer 2.3 3. 在“管理内容”...

    MSDN绿色U盘版-14

    大家在进行VC++编程的时候,MSDN是个必备的参考工具。但是,大家使用光盘自带的MSDN进行安装时,很不方便。自带的MSDN很大,每次重装系统都得重新安装,也不适用经常移动的朋友。为配合前不久发布的VC++6.0简体中文...

    1、MSDN(C#).pdf

    C#帮助文档MSDN文档(英文版)

    [MSDN杂志] MSDN Magazine 2017年01月刊

    作为面向开发人员的 MSDN 资源系列的必要组成部分,MSDN Magazine 可以为您每天遇到的实际问题提供解决方案。无论构建 Web 服务、集成旧数据存储,还是学习 .Net,MSDN Magazine 都可助您一臂之力; ☆ 出版信息 ☆...

    [MSDN].msdn_oct_2001.iso(3-1)

    [MSDN].msdn_oct_2001 共三个文件

    share msdn

    share msdn share msdn share msdn share msdn share msdn share msdn

    [MSDN杂志] MSDN Magazine 2017年04月刊

    作为面向开发人员的 MSDN 资源系列的必要组成部分,MSDN Magazine 可以为您每天遇到的实际问题提供解决方案。无论构建 Web 服务、集成旧数据存储,还是学习 .Net,MSDN Magazine 都可助您一臂之力; ☆ 出版信息 ☆...

    简化版MSDN-MSDN_1.2.2.part2.rar

    简化版MSDN-MSDN_1.2.2.part2.rar

    windows API msdn 开发手册

    windows API msdn 开发手册,中文开发手册,函数及参数详细描述

    MSDN手册(英文版).pdf

    MSDN手册(英文版)

    WINDOWS 编程 MSDN

    MSDN MSDN MSDN MSDN MSDN MSDN

Global site tag (gtag.js) - Google Analytics