首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSDTC及其与SQL Server的关系

MSDTC及其与SQL Server的关系
EN

Database Administration用户
提问于 2016-06-01 22:25:38
回答 1查看 3.4K关注 0票数 4

因此,我正在研究MSDTC及其在SQL Server中的不同类型调用中的作用,它让我思考了以下问题:

  1. 是否有任何第三方替代或替代MSDTC (如果存在)&它们的优缺点
  2. 当我通过链接服务器查询单个表(CRUD或Select)时,DTC是否起作用?
  3. 事务复制是否需要MSDTC?我知道可更新订阅需要MSDTC,但不清楚非可更新订阅是否需要/使用MSDTC。

通过谷歌搜索,我似乎找不到这些问题的好答案,所以转向这里的社区。任何帮助,以提高我对MSDTC的理解是非常感谢的。

谢谢!

EN

回答 1

Database Administration用户

发布于 2016-06-02 21:59:52

MSDTC为应用程序提供事务管理服务。它可以充当常规事务管理器或符合XA规范的资源管理器。Server是使用DTC的著名应用程序,但它实际上不是Server特性,甚至也不是组件。MSDTC的真正目的是为两个或多个不同的资源提供事务管理,以确保事务的一致性。事务管理是为单个资源/数据库构建在Server中的,但目前它并不能本机处理多个资源。有关更详细的说明,请参见这个旧的MSDTC博客。内容确实很陈旧,但概念仍然准确。

至于你的问题,

  1. 还有许多其他事务管理器,但是Server默认是与DTC集成的(例如,使用BEGIN DISTRIBUTED TRANSACTION启动查询将自动将DTC作为事务管理器)。如果使用JDBC,还可以通过从JDBC包中安装XA组件来配置Server以支持XA。有一个驱动程序和一些安装脚本来完成这个任务(都在包中)。这就设置了一些XPs来提供XA事务支持。可能还有其他用于Server的TMs,但我还没有遇到它们。
  2. 是的,可以,取决于你在做什么。如果需要,DQ可以使用DTC来管理事务(它将自动提升到DT)。只读操作只能写操作。
  3. 没有可更新订阅的事务性复制不需要MSDTC。它是基于日志的,不管是推还是拉,都没有分布式事务的概念。
票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/140172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档