国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQLSERVER分布式事務使用實例

2024-08-31 01:01:41
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


--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即可。
--標記下,以便以后解決。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 秭归县| 岳西县| 清流县| 成武县| 荆门市| 平利县| 阿坝县| 明星| 德钦县| 鸡泽县| 浪卡子县| 浦北县| 沙坪坝区| 湘乡市| 治多县| 离岛区| 高雄县| 寿宁县| 互助| 江永县| 宁陵县| 长治市| 哈巴河县| 灵武市| 岫岩| 鹤岗市| 犍为县| 哈尔滨市| 五指山市| 汕尾市| 聂拉木县| 永登县| 轮台县| 苍山县| 井冈山市| 涡阳县| 错那县| 五莲县| 彰化市| 鸡东县| 江口县|