MSDTC 失敗互相驗證時電腦不會執行在相同的網域

文章翻譯 文章翻譯
文章編號: 827805 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

不在相同網域中執行的兩部電腦進行通訊和分散式交易,請使用 Microsoft 分散式交易協調器 (MSDTC) 時, 可能會失敗相互驗證。

當執行 Microsoft Windows Server 2003 企業版的電腦上執行分散式的交易對已連結伺服器在 Microsoft SQL Server 2000 中時,您可能會收到下列錯誤訊息:
伺服器: 訊息 7391、 層級 16,狀態 1、 第 2 行
無法執行作業,因為 OLE DB 提供者 'SQLOLEDB' 無法開始分散式的交易。OLE/DB 提供者傳回訊息: 新的交易無法編列於指定的交易協調器中。

發生的原因

MSDTC Proxy 可能無法正確地驗證 MSDTC 當通訊的電腦不在相同的網域。

其他可行方案

重要這個區段、 方法或任務包含告訴您如何修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,執行這些步驟時請務必小心。為加強保護,修改登錄之前,請務必將它備份起來。以後您就可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
322756如何備份和還原在 Windows 登錄


如需有關如何編輯登錄的資訊,檢視 [登錄編輯程式 (Regedit.exe) 或 「 新增和刪除資訊中登錄 」] 和 [編輯登錄資料 」 中的 「 說明 」 主題 Regedt32.exe 中的 ["變更索引鍵和值 」 說明主題]。Microsoft 建議您編輯它之前備份登錄。

若要解決這個問題,請關閉 [RPC Windows Server 2003 電腦上的安全性。RPC 安全性是新的 DTC Windows Server 2003 中的功能。當您停用 RPC 安全性 DTC 的 RPC 呼叫的驗證安全性層級回前往在 Microsoft Windows 2000 Server 中可用的層級。執行此動作請依照下列步驟將 DWORD 值 TurnOffRpcSecurity 登錄值設為 1:
  1. 啟動 「 登錄編輯程式 」 (Regedt32.exe)。
  2. 在登錄中找到下列機碼:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
  3. 在 [編輯] 功能表上按一下 新增數值,然後新增下列登錄值:
    摺疊此表格展開此表格
    值名稱資料型別
    TurnOffRpcSecurityREG_DWORD1
  4. 結束 「 登錄編輯程式 」。
附註 安裝 Windows Server 2003 Service Pack 1 之後登錄項目 TurnOffRpcSecurity 設為 0。您必須重新啟動電腦之前,請使用登錄編輯程式 」 還原到 1 的值。

狀況說明

這種行為是經過設計規劃的。

其他相關資訊

重現這個問題的步驟

  1. 請確定兩部電腦執行 Windows Server 2003。
  2. 在兩部電腦上安裝 SQL Server 2000 與 Service Pack 3 (SP3)。
  3. 請確定兩部電腦上已啟動 MSDTC。
  4. 在第一部電腦上啟動 SQL 查詢分析器 (Isqlw.exe) 公用程式,然後連線至本機的 SQL Server。
  5. 將第二台電腦新增為連結伺服器。若要執行這項操作,在 [SQL 查詢分析器中執行下列的 Transact-SQL 陳述式:
    EXEC sp_addlinkedserver  'remote_server',  N'SQL SERVER'
    GO
    筆記 取代 remote_server 第二部電腦的名稱。
  6. 在 SQL Query Analyzer 中執行下列的 Transact-SQL 陳述式:
    SET xact_abort ON 
    GO
    USE  pubs
    GO
    BEGIN DISTRIBUTED TRANSACTION
    SELECT  *  FROM remote_server.pubs.dbo.authors
    COMMIT TRAN
    GO
    
    您可能會收到錯誤訊息所述之 < 徵狀 > 一 > 一節。
如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
329332您會收到錯誤 7391,當您對連結伺服器執行分散式的交易時
如需有關 Microsoft COM + 1.5 的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/library/ms687608.aspx

屬性

文章編號: 827805 - 上次校閱: 2007年12月5日 - 版次: 4.7
這篇文章中的資訊適用於:
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft COM+ 1.5
關鍵字:?
kbmt kbinfo kbtshoot kbtransaction kbsecurity kbrpc kbauthentication kbdtc kbdomain KB827805 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:827805
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com