您目前已離線,請等候您的網際網路重新連線

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

Windows Server 2003 的支援已於 2015 年 7 月 14 日結束

Microsoft 已於 2015 年 7 月 14 日結束對 Windows Server 2003 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本: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 GOUSE  pubsGOBEGIN DISTRIBUTED TRANSACTIONSELECT  *  FROM remote_server.pubs.dbo.authorsCOMMIT TRANGO
    您可能會收到錯誤訊息所述之 < 徵狀 > 一 > 一節。
如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
329332您會收到錯誤 7391,當您對連結伺服器執行分散式的交易時
如需有關 Microsoft COM + 1.5 的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 û 工 u 具 ã 網路 (MSDN) 網站]:

警告:本文為自動翻譯

內容

文章識別碼:827805 - 最後檢閱時間:12/05/2007 09:36:35 - 修訂: 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
意見反應
r Ctrl = ""; document.write("