Microsoft 分散式交易協調器服務必須在 NT AUTHORITY\NetworkService Windows 帳戶下執行

本文介紹 Microsoft Distributed Transaction Coordinator (MSDTC) 必須在 Windows 中執行的 Windows 帳戶。

重要事項

本文包含如何修改「登錄檔」的相關資訊。 修改登錄前,請務必先備份。 並了解如何在發生問題時還原登錄。 如需如何備份、還原和修改登錄的詳細資訊,請參閱: 進階使用者的 Windows 登錄資訊

原始產品版本:Windows Server 2012、Windows 8、Windows 7
原始 KB 編號: 903944

摘要

在所有 Windows 用戶端和伺服器作業系統上,您可能必須重新啟動 MSDTC 服務,才能執行這些步驟。 若要重新啟動 MSDTC 服務,請遵循下列步驟:

  1. 如需 Windows 8.1和 Windows 8

    • 從 [開始] 畫面,從右側撥動以顯示常用鍵,選取 [ 搜尋],然後搜尋 cmd。 (或者,如果您使用鍵盤和滑鼠,請在 [開始] 畫面輸入 cmd 。) 在搜尋結果中,按住或以滑鼠右鍵按下 [命令提示字元],然後選取 [ 以系統管理員身分執行]。

    適用於 Windows 7 和舊版

    • 按下 Windows 標誌 鍵+R,在 [執行] 方塊中輸入 cmd ,然後按 Enter。 以滑鼠右鍵按兩下 cmd,然後選取 [ 以系統管理員身分執行]
  2. 輸入 net stop msdtc ,然後按 ENTER 按鈕。

  3. 輸入 net start msdtc ,然後按 ENTER 按鈕。

  4. 開啟元件服務 Microsoft Management Console (MMC) 嵌入式管理單元。 若要這樣做,請按兩下 [ 開始], 然後按兩下 [執行類型 dcomcnfg.exe],然後按兩下 [ 確定]

  5. 序展開 [元件服務] 和 [ 計算機],然後展開 [ 我的計算機]

  6. 用滑鼠右鍵按一下 [我的電腦],再按一下 [內容]

  7. 按兩下 [MSDTC] 索 引標籤,然後按兩下 [ 安全性設定]

  8. DCT 登入帳戶中的帳戶變更NT AUTHORITY\NetworkService。 如果需要密碼,請輸入空白密碼。

  9. 按兩次 [確定]。

適用於 Windows XP 和 Windows Server 2003

從 Windows XP 開始,然後在 Windows Server 2003 中繼續,MSDTC 服務必須在 Windows 帳戶下 NT AUTHORITY\NetworkService 執行。

如果您將帳戶變更為 NetworkService 帳戶以外的帳戶,分散式交易就會失敗。 交易失敗,因為 MSDTC 服務無法與其他參與交易的物件一起進行相互驗證。 使用 MSDTC 服務的本機交易也可能失敗。

注意事項

其他合作物件可以是交易管理員、資源管理員或用戶端。

在 Microsoft Windows NT 4.0 和 Microsoft Windows 2000 中,您可以將預設 MSDTC 服務帳戶變更為網域帳戶。 當您在 Oracle 資料庫等 XA 資料庫上執行 XA 復原作業時,您可以變更帳戶以執行 Windows 驗證。

不過,在 Windows Server 2003 和 Windows XP 中,您無法變更帳戶。 相反地,您必須將執行 XA 復原作業所需的許可權和角色授與 MSDTC 服務執行所在電腦上的 NetworkService 帳戶。

設定 XA 復原作業的確切方法是每個 XA 資料庫特有的。 一般而言,您必須將 MSDTC 服務執行所在電腦的電腦帳戶新增至可在 XA 資料庫上執行 XA 復原作業的使用者清單。 此外,由於 NetworkService 帳戶是受限制的帳戶,因此您必須將 NetworkService 帳戶存取權提供給 XA DLL 所在的資料夾。

若要將 MSDTC 服務執行的帳戶變更回 NetworkService 帳戶,請遵循下列步驟。

警告

Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. 可能需要重新安裝作業系統才能解決這些問題。 Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

  1. 依序按一下 [開始] 和 [執行],輸入 regedit,然後按一下 [確定]

  2. 找出 ,然後按下列子機碼: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC

    如果下列專案存在,請移至步驟 6:

    • TurnOffRpcSecurity
    • AllowOnlySecureRpcCalls
    • FallbackToUnsecureRPCIfNecessary
  3. 建立專案 TurnOffRpcSecurity

    1. [編輯] 功能表中,指向 [新增],然後按一下 [DWORD 值]
    2. 輸入 TurnOffRpcSecurity,然後按 ENTER。
  4. 建立專案 AllowOnlySecureRpcCalls

    1. [編輯] 功能表中,指向 [新增],然後按一下 [DWORD 值]
    2. 輸入 AllowOnlySecureRpcCalls,然後按 ENTER。
  5. 建立專案 FallbackToUnsecureRPCIfNecessary

    1. [編輯] 功能表中,指向 [新增],然後按一下 [DWORD 值]
    2. 輸入 FallbackToUnsecureRPCIfNecessary,然後按 ENTER。
  6. 設定專案的 DWORD 值 TurnOffRpcSecurity

    1. 以滑鼠右鍵按兩下 [TurnOffRpcSecurity],然後按兩下 [ 修改]
    2. 在 [ 編輯 DWORD 值 ] 對話框中,輸入值 1,然後按兩下 [ 確定]
  7. 設定專案的 DWORD 值 AllowOnlySecureRpcCalls

    1. 以滑鼠右鍵按兩下 [AllowOnlySecureRpcCalls],然後按兩下 [ 修改]
    2. 在 [ 編輯 DWORD 值 ] 對話框中,輸入值 0,然後按兩下 [ 確定]
  8. 設定專案的 DWORD 值 FallbackToUnsecureRPCIfNecessary

    1. 以滑鼠右鍵按兩下 [FallbackToUnsecureRPCIfNecessary],然後按兩下 [ 修改]
    2. 在 [ 編輯 DWORD 值 ] 對話框中,輸入值 0,然後按兩下 [ 確定]

變更登錄之後,您必須重新啟動 MSDTC 服務。 若要重新啟動 MSDTC 服務,請遵循下列步驟:

  1. 按兩下 [開始],按兩下 [ 執行],輸入 cmd,然後按兩下 [ 確定]
  2. 輸入 net stop msdtc ,然後按 ENTER。
  3. 輸入 net start msdtc ,然後按 ENTER。
  4. 開啟元件服務 Microsoft Management Console (MMC) 嵌入式管理單元。 若要這樣做,請按兩下 [ 開始],按兩下 [ 執行],輸入 dcomcnfg.exe],然後按兩下 [ 確定]
  5. 序展開 [元件服務] 和 [ 計算機],然後展開 [ 我的計算機]
  6. 用滑鼠右鍵按一下 [我的電腦],再按一下 [內容]
  7. 按兩下 [MSDTC] 索 引標籤,然後按兩下 [ 安全性設定]
  8. DCT 登入帳戶中的帳戶變更NT AUTHORITY\NetworkService。 如果需要密碼,請輸入空白密碼。
  9. 按兩次 [確定]。

參考資料

協力廠商資訊免責聲明

本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以默示或其他方式,提供與這些產品的效能或可靠性有關的擔保。

適用於

  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 R2 Standard
  • Windows Server 2012 R2 Essentials
  • Windows 8.1 企業版
  • Windows 8.1 專業版
  • Windows 8.1
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Standard
  • Windows Server 2012 Standard
  • Windows Server 2012 Essentials
  • Windows 8 企業版
  • Windows 8 Pro
  • Windows 8
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows 7 企業版
  • Windows 7 專業版
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Standard
  • Windows Server 2008 Enterprise
  • Windows Vista Enterprise
  • Windows Vista Business
  • Microsoft Windows Server 2003 Enterprise Edition (32 位 x86)
  • Microsoft Windows Server 2003 Standard Edition (32 位 x86)
  • Microsoft Windows Server 2003 Datacenter Edition (32 位 x86)
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003 Standard x64 Edition
  • Microsoft Windows Server 2003 Enterprise x64 Edition
  • Microsoft Windows Server 2003 Datacenter x64 Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition