错误信息:Microsoft 分布式事务处理协调器(MS DTC)已取消此分布式事务
Microsoft 分布式事务处理协调器 (MS DTC) 是一个事务管理器,它允许客户端应用程序在一个事务中包含多个不同的数据源。MS DTC 协调在所有已在事务中登记的服务器间提交分布式事务。
Microsoft® SQL Server™ 安装可通过下列方法参与分布式事务:
1,调用运行 SQL Server 的远程服务器上的存储过程。
2,自动或显式地将本地事务提升为一个分布式事务并在该事务中登记远程服务器。
3, 执行分布式更新以更新多个 OLE DB 数据源上的数据。如果这些 OLE DB 数据源支持 OLE DB 分布式事务接口,SQL Server 还可以将它们登记在分布式事务中。 MS DTC 服务协调正确完成分布式事务,以确保所有服务器上的全部更为永久性的,或在发错误时删除所有更新。
SQL->CREATE TABLE test1 ([id] int ,email varchar(50))
表test1在A服务器中,表email在B服务器中,其表结构和test1一样。在A服务器中运行
SQL->EXEC sp_addlinkedserver 'B','SQL Server'
SQL->GO
SQL->EXEC sp_addlinkedsrvlogin 'B','false','sa','sa','123456'
同样在B服务器中运行以上代码,不同的是服务器名称的变化。
在B服务器中执行如下语句:
SQL->CREATE PROCEDURE dbo.usp_test
SQL->AS
SQL->SELECT id,email FROM email
SQL->GO
这样就把为AB服务器互相添加了Linked Server,并在AB服务器中启动MSDTC服务。在A服务器中运行如下语句:
SQL->BEGIN TRANSACTION Ta
SQL->INSERT INTO test (id,email)
SQL->EXEC a.test.dbo.usp_test
SQL->COMMIT TRANSACTION Ta
运行出错,错误如下:
服务器: 消息 7391,级别 16,状态 1,行 1
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。 [OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ] OLE DB 错误跟踪[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]。<br>估计是MSDTC的相关配置有问题。检查MSDTC配置。似乎都满足先制条件。苦思,终不得解,去网上找相关资料。终于不负有心人,找到了解决方法。继续……
组件服务=WIN+R调出运行框,输入dcomcnfg
组件服务--> a.展开"组件服务"树,然后展开"我的电脑"。b.右键单击"我的电脑",然后选择"属性"。C.在 MSDTC 选项卡中‘安全配置’按钮,确保选中了下列选项:网络 DTC 访问。网络事务 XA 事务 d.另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。e单击"确定",重新启动MSDTC。
再次运行以上语句,结果成功。
错误信息:Microsoft 分布式事务处理协调器(MS DTC)已取消此分布式事务相关推荐
- 深入浅出:Microsoft分布式事务处理协调器
深入浅出:Microsoft分布式事务处理协调器 http://www.searchdatabase.com.cn/showcontent_44713.htm posted on 2011-03-19 ...
- Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80004005‘[Microsoft][ODBC SQL Server Driver]登录超时已过期
解决办法:重启小旋风AspWeb服务器 或者重启电脑
- 使用DTCPing工具解决MSDTC问题(新事务无法在指定的事务协调器中登记)
Microsoft的分布式服务支持团队每天都会帮助客户排除一些最常见的分布式事务错误,这些错误是MSRPC(Microsoft远程过程调用)通信在网络中因某些安全\防火墙设置而失败的直接结果.在应用程 ...
- 无法启动 MS DTC 事务管理器。LogInit 返回错误 0x2. 怎么办?
无法启动 MS DTC 事务管理器.LogInit 返回错误 0x2. 怎么办? ----------------------------------------------------------- ...
- java 分布式事务处理
分布式事务处理 当数据分布在多个数据库服务器上时,就需要各种保护措施来保证数据正确地写到所有数据库中.例如,考虑一个在三个分离的远程数据库上修改的 客户帐户平衡表,如果在事务写阶段,任何一个数据库连接 ...
- SQL Server 数据库之分布式事务处理
分布式事务处理 1. 概述 2. 创建分布式事务 3. 分布式处理协调器 1. 概述 分布式事务跨越两个或多个称为资源管理器的服务器,称为事务管理器的服务器组件必须在资源管理之间协调事务管理: 若分布 ...
- 分布式协调器ZooKeeper3.4—管理员手册
[ZooKeeper是Apache Hadoop下的开源软件,是一个分布式的协调器,本文来自于Zookeeper的官方网站,地址为:http://zookeeper.apache.org/doc/r3 ...
- 分布式协调器ZooKeeper3.4—程序员手册
[ZooKeeper是Apache Hadoop下的开源软件,是一个分布式的协调器,本文来自于Zookeeper的官方网站,地址为:http://zookeeper.apache.org/doc/r3 ...
- delphi使用MS Sql Server数据库的分布式查询
目录 delphi使用MS Sql Server数据库的分布式查询 一.链接服务器 1.1.简单的链接服务器 1.2.含多数据库架构的全链接服务器 1.3.链接服务器的理论与总结 语法: 参数: 本系 ...
最新文章
- 全面理解java内存模型_深入理解Java内存模型(八)——总结
- python类对象和实例对象
- 工程师姓什么很重要!别再叫我“X工”!!!
- java课后习题_【整理】java私塾教程课后习题
- html鼠标悬停盒子凸起,css3 transform动画鼠标悬停div容器凸起放大显示
- java xml转map_java练习本(原每日一练)(20190514)
- 二阶矩阵乘法C语言,c语言矩阵相乘
- 【AC自动机】HDU 2222 Keywords Search 裸题
- 一个函数中写多少行代码比较合适呢?
- 自抗扰控制器七-二阶 LADRC-PLL 结构设计
- BZOJ1597 [Usaco2008 Mar] 土地购买
- 计算机怎么建我的文档,如何修改我的文档路径
- java中choice用法,批处理中choice用法
- win10解决IE浏览器安装不上的问题(卸载依然显示不能安装)
- 北方工商管理研修学院计算机,北方工商管理研修学院 你骗了多少人
- 基于OpenCV双边滤波器的人脸美化 .
- 前端与后台(学习自某B站Up主)
- Matplotlib饼图实例
- ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to
- FL Studio乐理教程之调式音阶