主页 > 知识库 > SQLSERVER分布式事务使用实例

SQLSERVER分布式事务使用实例

热门标签:卫星地图标注距离 阳光创信ai外呼获客系统助力 贵州外呼回拨系统是什么 外呼系统的话术 安阳天音防封电销卡 智能外呼系统需要多少钱 竞圣地图标注服务 云南全自动外呼系统公司 智能语音车载电话机器人

复制代码 代码如下:

--BEGIN DISTRIBUTED TRANSACTION [transactionname]
--标志一个由分布式事务处理协调器MSDTC管理的TSQL分布式事务开始
--SERVER A服务器为主控服务器。当连接发出后续COMMIT TRANSACTION或
--ROLLBACK TRANSACTION语句时,主控服务器请求MSDTC在所涉及的服务器间管理
--分布式事务的完成

--SQLSERVER使用链接服务器或者远程服务器作为分布式事务处理的平台,提供
--远程存储过程调用和分布式查询


--当使用分布式事务进行一个远程存储过程调用和一个分布式查询时,在SERVER A
--上发出BEGIN DISTRIBUTED TRANSACTION ,该连接调用SERVER B上的存储过程
--和SERVER C上的另一个存储过程,并且SERVER C上的存储过程对SERVER D执行一个
--分布式查询,则四个SQLSERVER服务器进入分布式事务中,SERVER A是该事务的创建者
--和控制服务器

--创建分布式事务,在本地和远程数据库同时删除一条记录,其中,远程SQLSERVER
--的实例名称为RemoteServer。本地和远程数据库同时提交或同时回滚该事务。
--注意,执行分布式查询或调用存储过程时,使用4部分名称限定规则

--前提:本机的MSDTC和远程机器的MSDTC服务要打开
--本机和远程机器能互相ping通
--数据库端口能互相telnet通
--创建一个链接服务器到远程机器WIN7U-20130414Z
USE [GPOSDB]
GO
SELECT * FROM [SystemPara] WHERE [Name]='HDTPort'
SELECT * FROM [WIN7U-20130414Z].[GPOSDB].dbo.[SystemPara] WHERE [Name]='HDTPort'

 

USE [GPOSDB]
GO
BEGIN DISTRIBUTED TRANSACTION
--从本地数据库删除一条记录
DELETE FROM [JOE].[GPOSDB].[DBO].[SystemPara]
WHERE [Name]='HDTPort'

--从远程数据库中删除一条记录
DELETE FROM [GPOSDB].[dbo].[SystemPara]
WHERE [Name]='HDTPort'

COMMIT TRAN
GO


--个人尝试了下是由于在双向的sql server访问中采用了链式方式访问(LinkedServer方式),
--遇到这种情况只需要将原来访问对方数据库的语句:
--select  *  from  linkedServerA.dbo.table1
--修改为:
--select  *  from  dbo.table1即可。
--标记下,以便以后解决。

您可能感兴趣的文章:
  • c#实现sqlserver事务处理示例
  • SQL Server触发器及触发器中的事务学习
  • sqlserver中的事务和锁详细解析
  • Sqlserver 存储过程中结合事务的代码
  • 浅析SQL Server中包含事务的存储过程
  • SQLServer存储过程中事务的使用方法
  • sqlserver 函数、存储过程、游标与事务模板
  • SQL Server存储过程中编写事务处理的方法小结
  • Sql Server中的事务介绍
  • Sql Server事务语法及使用方法实例分析

标签:宁夏 周口 营口 钦州 预约服务 河源 鄂尔多斯 湘潭

巨人网络通讯声明:本文标题《SQLSERVER分布式事务使用实例》,本文关键词  SQLSERVER,分布式,事务,使用,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《SQLSERVER分布式事务使用实例》相关的同类信息!
  • 本页收集关于SQLSERVER分布式事务使用实例的相关信息资讯供网民参考!
  • 推荐文章