亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

SQL Server之分布式事務

2019-11-03 08:35:43
字體:
來源:轉載
供稿:網友
--> Title  : SQL Server之分布式事務

--> Author : wufeng4552

--> Date   : 2009-11-11

SQL Server之分布式事務

(一)概念:

分布式事務是涉及來自兩個或多個源的資源的事務。Microsoft® SQL Server™ 2000支持分布式事務,使用戶得以創建事務來更新多個SQL Server數據庫和其它數據源。

分布式事務包括:

·資源管理器

控制分布式事務所涉及的每個資源的軟件稱為資源管理器。分布式事務由各個資源管理器內的本地事務組成。每個資源管理器必須能夠與分布式事務內的所有其它資源管理器相協調,以提交或回滾自己的本地事務。SQL Server 可以作為分布式事務內的資源管理器工作,并遵從用于分布式事務處理的 X/Open XA 規范。

·事務管理器

提交或回滾分布式事務由稱為事務管理器的軟件組件控制。事務管理器與每個資源管理器相協調,確保一起提交或回滾所有組成分布式事務的本地事務。Microsoft分布式事務處理協調器 (MS DTC) 服務如事務管理器一樣工作。MS DTC 遵從用于分布式事務處理的 X/Open XA 規范。

·兩階段提交 (2PC)

需要進行特殊的提交處理,以防止在管理跨越多個資源管理器的事務時出現問題。當刷新日志緩沖區使其可用時,提交大事務可能需要相對較長的時間。提交進程本身還可能遇到錯誤,需要強行回滾。如果事務管理器只是請求每個資源管理器提交,則可能從一些資源管理器返回成功狀態,然后從某個資源管理器得到錯誤信息。這會導致沖突,因為所有分布式事務都應回滾,而部分事務已提交。兩階段提交通過將提交分成兩相可以解決此問題:

·準備

事務管理器給每個資源管理器發送一個準備提交的請求。然后,每個資源管理器執行完成提交進程所需的所有大量占用資源的操作,如刷新所有日志緩沖區。資源管理器只保留維護事務完整性所需的最少的鎖,然后給事務管理器返回成功狀態。

·提交

如果所有資源管理對發給它們的準備請求返回成功狀態,事務管理器將給每個資源管理器發送提交命令。然后,每個資源管理器快速將事務記錄為已完成,并釋放上次控制的資源。如果有任何資源管理器對準備請求返回錯誤信息,事務管理器將給每個資源管理器發送回滾命令。

有幾種方法可以使應用程序在分布式事務內包括 SQL Server 2000:

·如果應用程序有本地事務并且發出分布式查詢,本地事務將升級到分布式事務。

·發出 BEGIN DISTRIBUTED TRANSACTION 語句。

·如果應用程序有本地事務并且將 REMOTE_PROC_TRANSACTIONS 選項設置為 ON,則調用遠程存儲過程將使本地事務升級到分布式事務。

·使用用于 SQL Server 的 OLE DB 提供程序或 SQL Server ODBC 驅動程序的應用程序,可以使用 OLE DB 方法或 ODBC 函數讓 SQL Server 連接聯接由應用程序啟動的分布式事務。

(二)案例

(2.1)問題描述

在執行分布式事務時,在sql server 2005下收到如下錯誤:

消息 7391,級別 16,狀態 2,過程 xxxxx,第 16 行

無法執行該操作,因為鏈接服務器 "xxxxx" 的 OLE DB 訪問接口 "SQLNCLI" 無法啟動分布式事務。

在sql server 2000下收到如下錯誤:

該操作未能執行,因為 OLE DB 提供程序 'SQLOLEDB' 無法啟動分布式事務。

[OLE/DB provider returned message: 新事務不能登記到指定的事務處理器中。 ]

OLE DB 錯誤跟蹤[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]。

(2.2)解決方案

(2.2.1)雙方啟動MSDTC服務

MSDTC服務提供分布式事務服務,如果要在數據庫中使用分布式事務,必須在參與的雙方服務器啟動MSDTC(Distributed Transaction Coordinator)服務。

(2.2.2) 打開雙方135端口

MSDTC服務依賴于RPC(Remote Procedure Call (RPC))服務,RPC使用135端口,保證RPC服務啟動,如果服務器有防火墻,保證135端口不被防火墻擋住。使用“telnet ip 135 ”命令測試對方端口是否對外開放。也可用端口掃描軟件(比如Advanced Port Scanner)掃描端口以判斷端口是否開放。

(2.2.3)保證鏈接服務器中語句沒有訪問發起事務服務器的操作

   在發起事務的服務器執行鏈接服務器上的查詢、視圖或存儲過程中含有訪問發起事務服務器的操作,這樣的操作叫做環回(loopback),是不被支持的,所以要保證在鏈接服務器中不存在此類操作。

(2.2.4)在事務開始前加入set xact_abort ON語句

對于大多數 OLE DB 提供程序(包括 SQL Server),必須將隱式或顯示事務中的數據修改語句中的 XACT_ABORT 設置為 ON。唯一不需要該選項的情況是在提供程序支持嵌套事務時。

(2.2.5)MSDTC設置

管理工具―組件服務―計算機―我的電腦(右鍵)―MSDTC―安全配置

在安全配置窗口中做如下設置:

(2.2.5.1)選中“網絡DTC訪問”

(2.2.5.2)在客戶端管理中選中“允許遠程客戶端”“允許遠程管理”

(2.2.5.3)在事務管理通訊中選“允許入站”“允許出站”“不要求進行證” (2.2.5.4)保證DTC登陸賬戶為:NT   Authority/NetworkService




(2.2.6)鏈接服務器和名稱解析問題

建立鏈接sql server服務器,通常有兩種情況:

第一種情況,產品選”sql server”

     EXEC sp_addlinkedserver

     @server='linkServerName',

     @srvproduct = N'SQL Server'

這種情況@server(linkServerName)就是要鏈接的sqlserver服務器名或者ip地址。

    第二種情況訪問接口選“Microsoft OLE DB Provider Sql Server”或“Sql Native Client”

    EXEC sp_addlinkedserver   

      @server='linkServerName',

      @srvproduct='',

      @provider='SQLNCLI',

      @datasrc='sqlServerName'

這種情況,@datasrc(sqlServerName)就是要鏈接的實際sqlserver服務器名或者ip地址。

Sql server數據庫引擎是通過上面設置的服務器名或者ip地址訪問鏈接服務器,DTC服務只通過服務器名地址訪問鏈接服務器,所以要保證數據庫引擎和DTC都能通過服務器名或者ip地址訪問到鏈接服務器。

數據庫引擎和DTC解析服務器的方式不太一樣,下面分別敘述

數據庫引擎

第一種情況的@server或者第二種情況的@datasrc設置為ip地址時,數據庫引擎會根據ip地址訪問鏈接服務器,這時不需要做名稱解析。

第一種情況的@server或者第二種情況的@datasrc設置為sql server服務器名時,需要做名稱解析,就是把服務器名解析為ip地址。

有兩個辦法解析服務器名:

一是在sql server客戶端配置中設置一個別名,將上面的服務器名對應到鏈接服務器的ip地址。

二是在“C:/WINDOWS/system32/drivers/etc/hosts”文件中增加一條記錄:

xxx.xxx.xxx.xxx 服務器名

作用同樣是把服務器名對應到鏈接服務器的ip地址。

DTC

不管哪一種情況,只要@server設置的是服務器名而不是ip地址,就需要進行名稱解析,辦法同上面第二種辦法,在hosts文件中增加解析記錄,上面的第一種辦法對DTC不起作用。

如果@server設置的是ip地址,同樣不需要做域名解析工作

(2.2.7)遠程服務器上的名稱解析

分布式事務的參與服務器是需要相互訪問的,發起查詢的服務器要根據機器名或ip查找遠程服務器的,同樣遠程服務器也要查找發起服務器,遠程服務器通過發起服務器的機器名查找服務器,所以要保證遠程服務器能夠通過發起服務器的機器名訪問到發起服務器。一般的,兩個服務器在同一網段機器名能就行很好的解析,但是也不保證都能很好的解析,所以比較保險的做法是:在遠程服務器的在“C:/WINDOWS/system32/drivers/etc/hosts”文件中增加一條記錄:xxx.xxx.xxx.xxx    發起服務器名
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91超碰caoporn97人人| 亚洲国产99精品国自产| 清纯唯美亚洲综合| 色久欧美在线视频观看| 亚洲国产成人久久综合| 亚洲一区二区三区四区视频| 亚洲日本欧美中文幕| 久久人人爽人人爽爽久久| 久久久精品网站| 久久免费在线观看| 欧美做爰性生交视频| 欧美一区二区视频97| 亚洲欧美www| 自拍偷拍免费精品| 欧美电影免费播放| 国产成人aa精品一区在线播放| 欧美电影免费看| 色噜噜狠狠狠综合曰曰曰88av| 亚洲乱码一区二区| 久久精品亚洲精品| 日韩激情第一页| 国产一区二区三区视频在线观看| 亚洲福利视频在线| 欧美人在线观看| 国产成人拍精品视频午夜网站| 欧美色另类天堂2015| 久久免费观看视频| 国产91成人video| 最近2019中文免费高清视频观看www99| 国产精品成人一区二区三区吃奶| 色在人av网站天堂精品| 欧亚精品在线观看| 久热99视频在线观看| 国产成人精品视| 亚洲欧美日韩天堂一区二区| 色妞色视频一区二区三区四区| 国产精品美女免费看| 亚洲人成网在线播放| 秋霞av国产精品一区| 日韩免费不卡av| 亚洲xxxx妇黄裸体| 日韩av免费在线看| 亚洲男人天堂2019| 国产精品极品美女在线观看免费| 国产日韩欧美综合| 欧美三级免费观看| 精品成人av一区| 亚洲福利在线视频| 国模叶桐国产精品一区| 黄色成人av网| www欧美日韩| 亚洲区在线播放| 国产视频久久久久| 最近中文字幕2019免费| 久久综合国产精品台湾中文娱乐网| 国产精品久久综合av爱欲tv| 91在线精品播放| 在线观看日韩视频| 亚洲国产成人精品久久| 久久久这里只有精品视频| 久久久久久综合网天天| 欧美中文在线观看国产| 亚洲91精品在线| 久久久久久久一区二区三区| 亚洲欧美在线看| 欧美精品一本久久男人的天堂| 欧美小视频在线| 最近2019好看的中文字幕免费| 国产精品久久久久999| 夜夜嗨av色一区二区不卡| 日韩精品视频免费在线观看| 亚洲精品美女久久久久| 日韩免费电影在线观看| 国产精品视频一区二区三区四| 日韩av网址在线观看| 欧美性猛交丰臀xxxxx网站| 国产精品久久久久影院日本| 亚洲剧情一区二区| 久久综合色88| 亚洲免费人成在线视频观看| 日韩中文字幕欧美| 欧美激情极品视频| 乱亲女秽乱长久久久| 欧美一级大片在线免费观看| 国产欧美欧洲在线观看| 久久久精品欧美| 国产精品久久久久久亚洲影视| 亚洲美女精品久久| 这里只有精品久久| 国产精品高潮呻吟久久av无限| 国产精品美女免费看| 国内精品久久久久久久| 欧美成人在线免费| 美女精品视频一区| 日韩风俗一区 二区| 欧美精品成人在线| 久久久精品2019中文字幕神马| 亚洲一区第一页| 美女啪啪无遮挡免费久久网站| 日韩精品欧美国产精品忘忧草| 国产精品久久久久久超碰| 热门国产精品亚洲第一区在线| 国产精品video| 日韩精品在线电影| 日本久久91av| 国内偷自视频区视频综合| 国产精品免费视频久久久| 在线日韩第一页| 日韩欧美a级成人黄色| 欧美久久久精品| 国产精品一区av| 宅男66日本亚洲欧美视频| 久久在精品线影院精品国产| 中文字幕国产亚洲2019| 欧美性生交xxxxx久久久| 国产精品r级在线| 欧美自拍视频在线观看| 亚洲999一在线观看www| 欧美日韩国产专区| 亚洲第一av网站| 久久琪琪电影院| 亚洲福利视频网站| 久久久久久久久久av| 黑人与娇小精品av专区| 色小说视频一区| 久久久久久久久久久免费| 91精品国产91久久久久久| 久久精品色欧美aⅴ一区二区| 热门国产精品亚洲第一区在线| 性色av一区二区三区在线观看| 亚洲精品97久久| 欧美极度另类性三渗透| 精品成人69xx.xyz| 欧美国产视频一区二区| 欧美大片免费看| 亚洲欧美一区二区精品久久久| 免费成人高清视频| 欧美国产亚洲精品久久久8v| 日韩欧美一区视频| 久久免费视频网站| 精品动漫一区二区| 欧美高清在线观看| 精品亚洲夜色av98在线观看| 欧美精品久久一区二区| 精品视频一区在线视频| 91a在线视频| 日韩中文字幕视频| 亚洲精品wwww| 色哟哟网站入口亚洲精品| 欧美成人精品h版在线观看| 日韩成人激情在线| 亚洲第一福利网| 国产精品免费一区二区三区都可以| 在线观看免费高清视频97| 欧美亚洲伦理www| 欧美成年人视频网站欧美| 精品亚洲va在线va天堂资源站| 国产综合久久久久久| 亚洲男人天堂古典| 国产精品91在线| 久久久国产视频91| 久久久伊人日本| 国产精品亚洲激情| 日韩欧美国产黄色|