分布式事务处理

时间:2022-05-08 06:11:22

前提如下:
DB_A,DB_B为两个数据库
都有一个Person表
该表两个字段 PersonID(主键)和PersonName

下面的分布式事务 实现的是
同时向这两个库的两个表新增资料
===============================

SET XACT_ABORT ON
-- 开始分布式事务
BEGIN DISTRIBUTED  TRANSACTION

-- 操作 DB_A数据库的Person表
INSERT INTO [DB_A].[dbo].[Person]([PersonID], [PersonName])
VALUES('2', '张三')

-- 操作 DB_B数据库的Person表
INSERT INTO [DB_B].[dbo].[Person]([PersonID], [PersonName])
VALUES('1', '张三')

--提交事务
COMMIT TRANSACTION