1. 程式人生 > >出現錯誤提示“新事務不能登記到指定的事務處理器中”

出現錯誤提示“新事務不能登記到指定的事務處理器中”

出現問題“新事務不能登記到指定的事務處理器中”,請按以下步驟排查。

特別情況:本人遇到這種情況,當機器上安裝了SQLServer2000和2005,如果是先裝2005後裝2000,問題可以解決,但如果是先裝2000後裝2005此方法仍不能解決問題。

1.        雙方啟動MSDTC服務
MSDTC服務提供分散式事務服務,如果要在資料庫中使用分散式事務,必須在參與的雙方伺服器啟動MSDTC(Distributed Transaction Coordinator)服務。

2.        開啟雙方135埠
MSDTC服務依賴於RPC(Remote Procedure Call (RPC))服務,RPC使用135埠,保證RPC服務啟動,如果伺服器有防火牆,保證135埠不被防火牆擋住。 

使用“telnet IP 135 ”命令測試對方埠是否對外開放。也可用埠掃描軟體(比如Advanced Port Scanner)掃描埠以判斷埠是否開放。

3.        保證連結伺服器中語句沒有訪問發起事務伺服器的操作
在發起事務的伺服器執行連結伺服器上的查詢、檢視或儲存過程中含有訪問發起事務伺服器的操作,這樣的操作叫做環回(loopback),是不被支援的,所以要保證在連結伺服器中不存在此類操作。

4.        在事務開始前加入set xact_abort ON語句
對於大多數 OLE DB 提供程式(包括 SQL Server),必須將隱式或顯示事務中的資料修改語句中的 XACT_ABORT 設定為 ON。唯一不需要該選項的情況是在提供程式支援巢狀事務時。

5.        MSDTC設定
開啟“管理工具――元件服務”,以此開啟“元件服務――計算機”,在“我的電腦”上點選右鍵。在MSDTC選項卡中,點選“安全配置”按鈕。

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

l選中“網路DTC訪問”

l在客戶端管理中選中“允許遠端客戶端”“允許遠端管理”

l在事務管理通訊中選“允許入站”“允許出站”“不要求進行驗證”

l保證DTC登陸賬戶為:NT   Authority/NetworkService

6.        連結伺服器和名稱解析問題
建立連結sql server伺服器,通常有兩種情況:

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

EXEC sp_addlinkedserver

   @server='linkServerName',

   @srvproduct = N'SQL Server'

這種情況,@server (linkServerName)就是要連結的sqlserver伺服器名或者ip地址。

l第二種情況,訪問介面選“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服務也是通過伺服器名或者ip地址訪問連結伺服器,所以要保證資料庫引擎和DTC都能通過伺服器名或者ip地址訪問到連結伺服器。

資料庫引擎和DTC解析伺服器的方式不太一樣,下面分別敘述

6.1       資料庫引擎
第一種情況的@server或者第二種情況的@datasrc設定為ip地址時,資料庫引擎會根據ip地址訪問連結伺服器,這時不需要做名稱解析。

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

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

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

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

xxx.xxx.xxx.xxx   伺服器名

作用同樣是把伺服器名對應到連結伺服器的ip地址。

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

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

相關推薦

出現錯誤提示事務不能登記指定事務處理器

出現問題“新事務不能登記到指定的事務處理器中”,請按以下步驟排查。 特別情況:本人遇到這種情況,當機器上安裝了SQLServer2000和2005,如果是先裝2005後裝2000,問題可以解決,但如果是先裝2000後裝2005此方法仍不能解決問題。 1.        雙

python2 安裝scrapy出現錯誤提示解決辦法~

man 提示 正常 html中 command fail 重新 解決問題 資料 首先:set STATICBUILD=true && pip install lxml 安裝環境: windows7操作系統,已經正確安裝python,pip. 使用

用arm-linux-gnueabihf移植MP3播放器libmad-0.15.1b的時候出現錯誤提示

移植 else /dev/null -- b- line .com ibm fail diff --git a/package/libmad/libmad-0.15.1b-thumb2-fixed-arm.patch b/package/libmad/libmad-0.15

CentOS 使用yum命令安裝出現錯誤提示”could not retrieve mirrorlist http://mirrorlist.centos.org ***”

cannot log 命令提示符 error can fresh refresh nbsp ould 剛安裝完CentOS,使用yum命令安裝一些常用的軟件,使用如下命令:yum –y install gcc. 提示如下錯誤信息: Loaded plugins: fast

啟動eclipse出現錯誤提示:an error hava occured,see the log

在Win8系統上下載了eclipse3.2,eclipse3.22壓縮包,解壓之後在eclipse的安裝目錄中雙擊eclipse.exe執行eclipse時提示an error hava occured,see the log。如下: 點選eclipse安裝目錄下的co

如何解決 Windows 7 安裝印表機驅動程式時,出現錯誤資訊"找不到指定模組"或"XXX.dll 檔案丟失"

文章簡介 在Windows7中安裝驅動程式時,出現錯誤資訊“找不到指定模組”或“XXX.dll 檔案丟失”,您可以參考本文的步驟嘗試解決問題 應用軟體執行時一般都是優先從自己的安裝目錄中呼叫所需的模組(.dll)檔案,如沒有所需檔案再到 Windows\System

【經驗】VMware Tools安裝時出現錯誤提示:Read-only file system

VMware Tools安裝時出現錯誤提示:Read-only file system 解決辦法:不要在 VMware Tools掛載的資料夾下解壓就可以了,因為掛載的 /media是一個只讀檔案

解決Navicat for MySQL開啟連線時出現錯誤提示1045 access denied for user 'root'@'localhost' (using password yes)的問題

        買了新電腦,裝上MySQL建立連線後打不開,提示“1045 access denied for user 'root'@'localhost' (using password yes)”,我是吃瓜群眾一個,網上搜了好久,其實早就看到解決辦法了,但是由於自己水平

Ubuntu下使用ssh遠端登入時出現錯誤提示connect to host localhost port 22:Connection refused

1、Ubuntu下測試ssh時使用ssh localhost 命令,出現錯誤提示connect to host localhost port 22:Connection refused 造成這個錯誤的原因可能是ssh-server未安裝或者未啟動。ubuntu

該操作未能執行,因為 OLE DB 提供程式 'SQLOLEDB' 無法啟動分散式事務事務不能登記指定事務處理器

問題:該操作未能執行,因為 OLE DB 提供程式 'SQLOLEDB' 無法啟動分散式事務。[OLE/DB provider returned message: 新事務不能登記到指定的事務處理器中。 ]  解決方法:確定兩臺機的msdtc服務都打開了(net   start

2.2.1 傳播行為 當事務方法被另一個事務方法調用時,必須指定事務應該如何傳播。例如:方法可能繼續在現有事務運行,也可能開啟一個事務,並在自己的事務運行。

相同 comment 自己的 執行 run lose 傳播 tty 可能 2.2.1 傳播行為 當事務方法被另一個事務方法調用時,必須指定事務應該如何傳播。例如:方法可能繼續在現有事務中運行,也可能開啟一個新事務,並在自己的事務中運行。 2.2.1 傳播行為 當事務

loadrunner破解出現“license security violation,Operation is not allowed”的錯誤提示

self com spa license delete get src not 放置 1、關閉loadrunner,將破解文件(“lm70.dll”、“mlr5lprg.dll”)放置在LoadRunner\bin下面 2、以管理員身份運行loadrunner,在CONFU

【MySQL】出現“SELECT list is not in GROUP BY clause and contains xxx”錯誤提示

engine 數據 連接 設置 subst sql_mode xxx and sele 需要設置為 sql_mode=‘NO_ENGINE_SUBSTITUTION‘ 設置方式: 1、MySQL客戶端連接上數據庫。 2、當前操作的數據切換成 mysql 3、執行 SELEC

PC電腦端支付寶掃碼付款出現編碼錯誤提示原因

true 打印 字符串 height bsp per size 信息 mic 給這家公司做各大場景的支付 涉及到微信內置H5支付 其他瀏覽器喚醒微信客戶端支付 PC掃碼支付 和支付寶相應的支付,但今天進行PC掃碼支付時遇到一些編碼問題,流程能走通。 調試錯誤,請回到請求來源

windows10 升級1803後,遠程錯誤提示出現身份驗證錯誤,要求的函數不受支持 CredSSP 加密 Oracle修正”的解決辦法

windows10 分配 出現 edit PE window .com http red 遠程出現錯誤提示:出現身份驗證錯誤,要求的函數不受支持 CredSSP 加密 Oracle修正 運行 gpedit.msc 本地組策略: 計算機配置>管理模板>系統>

打開Player時出現時間格式的錯誤提示

ftw war software wow ren 更改 時間 soft watchdog 安裝完Player後如果更改了Windows的系統時間和日期顯示格式,再次打開Player後會出現時間日期格式錯誤的提醒,需要按照要求更改Windows系統設置,才能正常運行Playe

2018年10月7日虛擬機器出現無法連線MKS錯誤提示和docx, rtf型別檔案簡介

在VMware中開啟虛擬機器時報錯:“無法連線MKS:套接字連線嘗試次數太多,正在放棄” 解決方案: 開啟服務,開啟下列服務: VMware Authorization Service VMware DHCP Service VMware NAT Service VMware

建立表空間時出現錯誤:ORA-27040以及開啟監聽服務時提示網路協議介面卡錯誤

今天做oracle資料庫建立表空間的操作,一直提示ORA-27040,OSD -04002,O/s-Error(os 3)錯誤。 檢查了建立的語句是沒有問題的,刪除重建發現建立過程也是正確了,管理員方式執行SQLplus也不行,最後經過查詢和驗證才發現是我電腦許可權的問題(用的管理員許可

出現*\uibuild.xml:183: Class not found: javac1.8錯誤提示

問題原因 使用ant編譯build.xml檔案時,出現*\uibuild.xml:183: Class not found: javac1.8的提示 問題原因 ant版本和jdk版本不相容,jdk1.8版本需要ant 1.9.0以上版本 操作步驟 1、官網下載最新版本an

在VS2013 使用C語言庫函式,出現出現錯誤提示使用不安全函式use _CRT_SECURE_NO_WARNINGS

在VS 2013 中編譯 C 語言專案,如果使用了 scanf 函式,編譯時便會提示如下錯誤: error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disab