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

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

重要

本文包含如何修改「登錄檔」的相關資訊。 修改登錄前,請務必先備份。 並了解如何在發生問題時還原登錄。 如需如何備份、還原及修改登錄的詳細資訊,請參閱: advanced 使用者的 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 管理主控台 (MMC) 嵌入式管理單元。 若要這麼做,請按一下 [ 開始],然後按一下 [ 執行 類型 dcomcnfg.exe],然後按一下 [確定]

  5. 展開 [ 元件服務],展開 [ 電腦],然後展開 [ 我的電腦]。

  6. 在 [ 我的電腦] 上按一下滑鼠右鍵,然後按一下 [ 屬性]。

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

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

  9. 按兩次 [確定] 。

適用于 Windows XP 和 Windows Server 2003

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

若將帳戶變更為 NetworkService 帳戶以外的帳戶,分散式交易會失敗。 因為 MSDTC 服務無法與交易相關的其他雙方一起執行相互驗證,所以交易失敗。 使用 MSDTC 服務的本機交易也可能會失敗。

注意

其他方可以是交易管理員、資源管理員或用戶端。

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

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

設定 XA 復原作業的確切方法是個別于每個 XA 資料庫。 一般來說,您必須將執行 MSDTC 服務之電腦的電腦帳戶新增至可對 XA 資料庫執行 XA 復原作業的使用者清單中。 此外,因為 NetworkService 帳戶是限制帳戶,所以您必須提供 XA DLL 所在之資料夾的 NetworkService 帳戶存取權。

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

警告

如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。 可能需要重新安裝作業系統才能解決這些問題。 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 管理主控台 (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 基本版
  • 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 基本版
  • 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