■ 環境
- VisualStudio 2017
- 【OS】Windows10
- 【DB】SQL SERVER2005
■ 前提
https://blogs.technet.microsoft.com/jpiis/2018/02/05/msdtc-settings/
こちらに記載されている設定はしてあります。
■ 経緯
- 分散トランザクションの処理を実装中にエラーが発生。
■ ログの内容
- 基になるプロバイダーが Open で失敗しました。
- 基本トランザクション マネージャーとの通信が失敗しました。
- MSDTC トランザクション マネージャーは、通信の問題のため、送信元のトランザクション マネージャーからトランザクションをプルできませんでした。
原因として、ファイアウォールが存在していて MSDTC プロセスの例外がないこと、
2 台のコンピューターが NetBIOS 名でお互いを識別できないこと、
または 2 つのトランザクション マネージャーのいずれかでネットワーク トランザクションのサポートが有効になっていないことが考えられます。
■ 対応
- [Windows] ⇒ [コントロールパネル]⇒ [Windows Difenderファイヤーウォール]を開く
- 左側にある『Windows Defenderファイヤーウォールを介したアプリ または 機能を許可』を選択する
- 『分散トランザクション コーディネーター』のチェックを【ON】 合わせて プライベート/パブリックも【ON】
- [OK]を押す ← 重要