国产探花免费观看_亚洲丰满少妇自慰呻吟_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即可。
--標記下,以便以后解決。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北碚区| 岑巩县| 南安市| 星子县| 东莞市| 舞钢市| 富蕴县| 景泰县| 江都市| 旬邑县| 黑龙江省| 蓬溪县| 堆龙德庆县| 南投县| 任丘市| 安图县| 化隆| 滨海县| 九龙城区| 利辛县| 清徐县| 天水市| 磐石市| 班玛县| 家居| 罗源县| 莱芜市| 泽普县| 辉南县| 邓州市| 望江县| 公安县| 郸城县| 临西县| 山丹县| 福州市| 夏邑县| 中西区| 安康市| 伊吾县| 焉耆|