SQLSERVER分布式事務(wù)使用實(shí)例
--BEGIN DISTRIBUTED TRANSACTION [transactionname]
--標(biāo)志一個(gè)由分布式事務(wù)處理協(xié)調(diào)器MSDTC管理的TSQL分布式事務(wù)開(kāi)始
--SERVER A服務(wù)器為主控服務(wù)器。當(dāng)連接發(fā)出后續(xù)COMMIT TRANSACTION或
--ROLLBACK TRANSACTION語(yǔ)句時(shí),主控服務(wù)器請(qǐng)求MSDTC在所涉及的服務(wù)器間管理
--分布式事務(wù)的完成
--SQLSERVER使用鏈接服務(wù)器或者遠(yuǎn)程服務(wù)器作為分布式事務(wù)處理的平臺(tái),提供
--遠(yuǎn)程存儲(chǔ)過(guò)程調(diào)用和分布式查詢(xún)
--當(dāng)使用分布式事務(wù)進(jìn)行一個(gè)遠(yuǎn)程存儲(chǔ)過(guò)程調(diào)用和一個(gè)分布式查詢(xún)時(shí),在SERVER A
--上發(fā)出BEGIN DISTRIBUTED TRANSACTION ,該連接調(diào)用SERVER B上的存儲(chǔ)過(guò)程
--和SERVER C上的另一個(gè)存儲(chǔ)過(guò)程,并且SERVER C上的存儲(chǔ)過(guò)程對(duì)SERVER D執(zhí)行一個(gè)
--分布式查詢(xún),則四個(gè)SQLSERVER服務(wù)器進(jìn)入分布式事務(wù)中,SERVER A是該事務(wù)的創(chuàng)建者
--和控制服務(wù)器
--創(chuàng)建分布式事務(wù),在本地和遠(yuǎn)程數(shù)據(jù)庫(kù)同時(shí)刪除一條記錄,其中,遠(yuǎn)程SQLSERVER
--的實(shí)例名稱(chēng)為RemoteServer。本地和遠(yuǎn)程數(shù)據(jù)庫(kù)同時(shí)提交或同時(shí)回滾該事務(wù)。
--注意,執(zhí)行分布式查詢(xún)或調(diào)用存儲(chǔ)過(guò)程時(shí),使用4部分名稱(chēng)限定規(guī)則
--前提:本機(jī)的MSDTC和遠(yuǎn)程機(jī)器的MSDTC服務(wù)要打開(kāi)
--本機(jī)和遠(yuǎn)程機(jī)器能互相ping通
--數(shù)據(jù)庫(kù)端口能互相telnet通
--創(chuàng)建一個(gè)鏈接服務(wù)器到遠(yuǎn)程機(jī)器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
--從本地?cái)?shù)據(jù)庫(kù)刪除一條記錄
DELETE FROM [JOE].[GPOSDB].[DBO].[SystemPara]
WHERE [Name]='HDTPort'
--從遠(yuǎn)程數(shù)據(jù)庫(kù)中刪除一條記錄
DELETE FROM [GPOSDB].[dbo].[SystemPara]
WHERE [Name]='HDTPort'
COMMIT TRAN
GO
--個(gè)人嘗試了下是由于在雙向的sql server訪問(wèn)中采用了鏈?zhǔn)椒绞皆L問(wèn)(LinkedServer方式),
--遇到這種情況只需要將原來(lái)訪問(wèn)對(duì)方數(shù)據(jù)庫(kù)的語(yǔ)句:
--select * from linkedServerA.dbo.table1
--修改為:
--select * from dbo.table1即可。
--標(biāo)記下,以便以后解決。
相關(guān)文章
SQL學(xué)習(xí)筆記一SQL基礎(chǔ)知識(shí)
剛開(kāi)始接觸sqlserver的朋友可以參考下。雖然文字比較短,但內(nèi)容都是經(jīng)驗(yàn)之談。2011-08-08
SQL對(duì)數(shù)據(jù)進(jìn)行按月統(tǒng)計(jì)或?qū)?shù)據(jù)進(jìn)行按星期統(tǒng)計(jì)的實(shí)例代碼
這篇文章主要介紹了SQL對(duì)數(shù)據(jù)進(jìn)行按月統(tǒng)計(jì)或?qū)?shù)據(jù)進(jìn)行按星期統(tǒng)計(jì)的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
SQLSERVER數(shù)據(jù)備份文件的分割備份方法
這篇文章主要介紹了SQLSERVER數(shù)據(jù)備份文件的分割備份方法 ,需要的朋友可以參考下2014-12-12
SQL Server 2000“設(shè)備激活錯(cuò)誤”的解決方法
數(shù)據(jù)庫(kù)恢復(fù)時(shí)出現(xiàn)諸如“設(shè)備激活錯(cuò)誤,請(qǐng)使用with move選項(xiàng)來(lái)標(biāo)志該文件的有效位置”報(bào)錯(cuò)的解決方法2013-11-11
數(shù)據(jù)庫(kù)復(fù)制性能測(cè)試 推送模式性能測(cè)試
使用了數(shù)據(jù)庫(kù)復(fù)制的人,首先擔(dān)心的就是主服務(wù)器和備份服務(wù)器的性能消耗問(wèn)題,本人也是對(duì)此十分擔(dān)憂(yōu),查了半天,基本上沒(méi)發(fā)現(xiàn)類(lèi)似的測(cè)試說(shuō)明,就自己測(cè)試了一下,下面為測(cè)試的結(jié)果,僅供參考2012-06-06
在Ubuntu使用SQL?Server創(chuàng)建Go應(yīng)用程序的圖文教程
這篇文章主要給大家介紹了關(guān)于在Ubuntu使用SQL?Server創(chuàng)建Go應(yīng)用程序的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-04-04

