エラー メッセージ OLE DB プロバイダー SQLOLEDB が分散トランザクションを開始できませんでした

この記事では、 OLE DB プロバイダー SQLOLEDB のエラー メッセージが分散トランザクションを開始できなかった問題を回避するのに役立ちます。

元の製品バージョン: SQL Server
元の KB 番号: 816701

現象

Microsoft SQL Serverを使用して、Windows Server を実行しているリンク サーバー間で分散トランザクションを開始しようとすると、次のエラー メッセージが表示される場合があります。

OLE DB プロバイダー SQLOLEDB が分散トランザクションを開始できませんでした

OLE DB プロバイダー コンピューターに次のメッセージが表示される場合があります。

指定したトランザクション コーディネーターに新しいトランザクションを参加させることはできません。

原因

この動作は、分散トランザクション コーディネーター (DTS) サービスが無効になっている場合、またはネットワーク DTC アクセスが無効になっている場合に発生します。 既定では、Windows Server ではネットワーク DTC アクセスが無効になっています。

回避策

この動作を回避するには、両方のサーバーにネットワーク DTC アクセスをインストールします。

  1. [スタート] ボタンをクリックし、[コントロール パネル] をクリックします。
  2. [ プログラムの追加と削除] をクリックし、[ Windows コンポーネントの追加と削除] をクリックします。
  3. [ コンポーネント ] ボックスで、[ アプリケーション サーバー] をクリックし、[ 詳細] をクリックします。
  4. [ネットワーク DTC アクセスチェックを有効にする] ボックスをクリックし、[OK] をクリックします
  5. [ 次へ] をクリックし、画面に表示される指示に従ってインストール プロセスを完了します。
  6. 分散トランザクション コーディネーター サービスを停止してから再起動します。
  7. 分散トランザクションに参加するすべてのリソース マネージャー サービス (Microsoft SQL Server や Microsoft メッセージ キュー サーバーなど) を停止して再起動します。