前提:先建立乙個鏈結伺服器,別名叫linkserver
set xact_abort on /*這是一定要開啟的,否則事務沒有意義*/
/*呵呵,分布式事務的最明顯標誌;普通的事務就是begin tran t1;我這裡的普通也可看作是一台伺服器上事務,而不是跨伺服器的,也就是狹義的分布*/
begin distributed transaction t1
update linkserver.db1.dbo.table1 set .... /*更新遠端另外一台伺服器*/
insert into localhost.db2.dbo.table2 .... /*同時本地伺服器追加一條記錄*/
if @@error<>0 /*如果有錯,事務回滾;如果有多步操作,可分批回滾*/
begin
rollback t1
return @@error
end
commit tran
事務 分布式事務
事務 邏輯上的一組操作,要麼都成功要麼都失敗 事務的四個特性 acid 原子性,一致性,隔離性,永續性 事務的隔離級別 讀未提交 產生髒讀 讀已提交 不可重複讀 可重複讀 幻讀 mysql預設 序列化讀 效能最低 傳播行為 7個 七種傳播行為 required 支援當前事務,如果不存在,就新建乙個 ...
分布式事務 分布式事務的實現
如果在多個服務中需要對不同的資料庫進行操作。因為不同服務操作的資料庫都不同,所以保證在同乙個事務中完成操作顯然是不科學的。那實現分布式事務的思想 1 方法入口,建立一條日誌記錄,狀態定義為初始狀態,即儲存本條日誌記錄 可以儲存在資料庫中,也可以寫出到本地磁碟檔案 2 可以在非同步執行緒或在定時任務中...
分布式 分布式事務
是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...