[FIX] MSDTCでエラーが発生しました(HR = 0x80000171)

MSDTCはあなたのPCでエラーが発生しましたか? 心配しないでください、私たちはあなたのために正しい修正をしました。 一部のWindowsユーザーは、WCFカスタム受信場所を有効にするとエラーが発生すると報告しました。 通常、エラーは次の形式で表示されます。MSDTCがシステムとの安全な接続を確立しようとしたときにエラー(HR = 0x80000171)が発生しました。

MicrosoftのDistributed Transaction Coordinator(MSDTC)を使用すると、リソースマネージャとアプリケーション間のトランザクション調整を制御できます。 また、MSDTCは基盤となるコンポーネントのネットワークトポロジに依存していますが、トランザクションはネットワーク全体で複数のDTCにまたがる可能性があります。

ただし、ネットワークDTCアクセスは、トランザクションに参加しているすべてのMS DTCインスタンスで有効にする必要があります。 これにより、ネットワーク全体でトランザクションを調整できます。

たとえば、ネットワークDTCが無効なときにリモートコンピュータがMS DTCトランザクションを使用してSQLデータベースを更新しようとすると、トランザクションは失敗します。 そのため、MSDTCはエラープロンプトを検出しました。 Windows Reportチームは、このエラー問題に適切な解決策をまとめました。

「MSDTCでエラーが発生しました」という警告を修正する方法

  1. ネットワークDTCアクセスを有効にする
  2. MS DTCに対するファイアウォールの例外を有効にする
  3. ウイルス対策設定でMSDTCを除外
  4. PPTPのルールを有効にする

解決策1:ネットワークDTCアクセスを有効にする

このエラー問題を簡単に解決する方法の1つは、MS DTCトランザクションに対してネットワークDTCアクセスを有効にすることです。 これはコンポーネントサービスで行うことができます。 ネットワークDTCアクセスを有効にするには、次の手順を実行します。

  • [スタート]をクリックして、引用符なしで「dcomcnfg」と入力し、Enterキーを押します。

  • コンソールツリーを展開してローカルDTCを見つけます(通常はコンポーネントサービスタブにあります)。
  • [操作]メニューの[プロパティ]をクリックします。
  • [セキュリティ]タブをクリックして、次のように変更します。
  • [セキュリティの設定]で、[ネットワークDTCアクセス]チェックボックスをオンにします。
  • Transaction Manager Communicationで、[Allow Inbound]および[Allow Outbound]チェックボックスをオンにします。
  • OKをクリックしてください。
  • その後、分散トランザクションコーディネーターサービス(MSDTC)を再起動します。

ただし、この修正を試してもまだエラーが発生する場合は、次の解決策に進むことができます。