一、 問題現(xiàn)象
在執(zhí)行 SQL Server分布式事務(wù)時,在SQL Server 2005下收到如下錯誤:
消息 7391,級別 16,狀態(tài) 2,過程 xxxxx,第 16 行
無法執(zhí)行該操作,因為鏈接服務(wù)器 "xxxxx" 的 OLE DB 訪問接口 "SQLNCLI" 無法啟動分布式事務(wù)。
在SQL Server 2000下收到如下錯誤:
該操作未能執(zhí)行,因為 OLE DB 提供程序 'SQLOLEDB' 無法啟動分布式事務(wù)。
[OLE/DB provider returned message: 新事務(wù)不能登記到指定的事務(wù)處理器中。 ]
OLE DB 錯誤跟蹤[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]。
二、 解決方案
1. 雙方啟動MSDTC服務(wù)
MSDTC服務(wù)提供分布式事務(wù)服務(wù),如果要在數(shù)據(jù)庫中使用 SQL Server分布式事務(wù),必須在參與的雙方服務(wù)器啟動MSDTC(Distributed Transaction Coordinator)服務(wù)。
2. 打開雙方135端口
MSDTC服務(wù)依賴于RPC(Remote Procedure Call (RPC))服務(wù),RPC使用135端口,保證RPC服務(wù)啟動,如果服務(wù)器有防火墻,保證135端口不被防火墻擋住。
使用“telnet IP 135 ”命令測試對方端口是否對外開放。也可用端口掃描軟件(比如Advanced Port Scanner)掃描端口以判斷端口是否開放。
3. 保證鏈接服務(wù)器中語句沒有訪問發(fā)起事務(wù)服務(wù)器的操作
在發(fā)起事務(wù)的服務(wù)器執(zhí)行鏈接服務(wù)器上的查詢、視圖或存儲過程中含有訪問發(fā)起事務(wù)服務(wù)器的操作,這樣的操作叫做環(huán)回(loopback),是不被支持的,所以要保證在鏈接服務(wù)器中不存在此類操作。
4. 在事務(wù)開始前加入set xact_abort ON語句
對于大多數(shù) OLE DB 提供程序(包括 SQL Server),必須將隱式或顯示事務(wù)中的數(shù)據(jù)修改語句中的 XACT_ABORT 設(shè)置為 ON。唯一不需要該選項的情況是在提供程序支持嵌套事務(wù)時。
5. MSDTC設(shè)置
打開“管理工具
主站蜘蛛池模板:
欧美日本在线
|
99精品欧美一区二区三区
|
国产欧美精品一区二区三区四区
|
国产精品毛片一区二区三区
|
特级毛片在线大全免费播放
|
日韩欧美在线中文字幕
|
国产成人午夜视频
|
黄色国产大片
|
中文字幕日韩在线
|
伊人狠狠干
|
日韩久久久久久久
|
精品国内|
一级黄色片在线
|
色综合久久天天综合网
|
欧美一区二区久久久
|
狠狠的干
|
在线视频a|
色综合成人
|
国产精品一区2区
|
成人免费在线视频
|
亚洲精品一区久久久久久
|
精品久久久免费视频
|
99亚洲国产
|
狠狠久久
|
第一福利丝瓜av导航
|
欧美日韩视频
|
狠狠色综合色综合网络
|
国产精品99
|
天天艹逼网
|
天天综合天天色
|
欧美一区二区三区免费电影
|
国产精品理论视频
|
日韩aⅴ影视|
精品免费国产一区二区三区
|
日本中文字幕一区
|
国产精品久久久久久久
|
国产一区二区三区在线
|
婷婷综合
|
www久久久久久|
亚洲精品视频免费观看
|
国产精品久久一区二区三区
|