SQLSERVER分布式事务使用实例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQLSERVER分布式事务使用实例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2009字,纯文字阅读大概需要3分钟。
内容图文
--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分布式事务使用实例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。