sqlserver分布式事務

2022-01-20 19:32:12 字數 1983 閱讀 4801

啟動服務中的distributed transaction coodinator後

建立鏈結伺服器ender-pc\subx

設定連線伺服器rpc out 以及rpc屬性為true

實驗一下**

建立表

create table [dbo].[yuf](

[id] [uniqueidentifier] not null,

[namx] [nvarchar](50) not null,

) on [primary]

第一種方法顯示呼叫begin distributed transaction 

set xact_abort on 

begin distributed transaction distributedtran

begin

declare @rowcounts int =0;

insert into dbo.yuf(id,namx) values(newid(),n'test1');

select * from dbo.yuf;

set @rowcounts=@rowcounts+(select @@rowcount);

insert into [ender-pc\subx].subt.dbo.yuf(id,namx) values(newid(),n'test1'+replicate(n'1',50));

set @rowcounts=@rowcounts+(select @@rowcount);

if @rowcounts=2

commit transaction distributedtran;

else

rollback transaction distributedtran;

endgo

select * from dbo.yuf;

第二種方法跟呼叫本地事務一樣

use test

exec sp_configure 'remote proc trans', 1 ;

go

reconfigure ;

go

1)呼叫儲存過程方式

create procedure xt

@l int

asbegin

set xact_abort on;

begin tran

insert into dbo.yuf(id,namx) values(newid(),n'test1');

insert into [ender-pc\subx].subt.dbo.yuf(id,namx) values(newid(),n'test1'+replicate(n'1',@l));

commit tran;

endgo

exec dbo.xt @l=55;--插入超長字串,導致兩個表資料回滾

goexec dbo.xt @l=20;--兩表插入正常

2)直接指令碼呼叫方式

set xact_abort on

begin tran

declare @rowcounts int =0;

insert into dbo.yuf(id,namx) values(newid(),n'test1');

select * from dbo.yuf;

set @rowcounts=@rowcounts+(select @@rowcount);

insert into [ender-pc\subx].subt.dbo.yuf(id,namx) values(newid(),n'test1'+replicate(n'1',20));

set @rowcounts=@rowcounts+(select @@rowcount);

commit transaction

SQL Server之分布式事務

title sql server之分布式事務 author wufeng4552 date 2009 11 11 sql server之分布式事務 一 概念 分布式事務是涉及來自兩個或多個源的資源的事務。microsoft sql server 2000支援分布式事務,使使用者得以建立事務來更新多個...

SQL Server之分布式事務

title sql server之分布式事務 author wufeng4552 date 2009 11 11 sql server之分布式事務 一 概念 分布式事務是涉及來自兩個或多個源的資源的事務。microsoft sql server 2000支援分布式事務,使使用者得以建立事務來更新多個...

分布式 分布式事務

是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...