Windows Server 2000 と SQL Server 2000 で動作していたシステムを Windows Server 2003 と SQL Server 2000 の組合せに移行した際、移行前では動作していたシステムが移行後ではエラーとなってしまった。
このシステムでは、リンク サーバーに対して分散トランザクションを実行しているのだが、この分散トランザクションのところで下記のようなエラーが出てしまう。
- OLE/DB provider returned message: 指定されたトランザクション コーディネータに、新規トランザクションを参加できませんでした。
- OLE DB エラー トレース [OLE/DB Provider ‘SQLOLEDB’ ITransactionJoin::JoinTransaction returned 0x8004d00a]。
- OLE DB プロバイダ ‘SQLOLEDB’ は分散トランザクションを開始できなかったので、要求した操作は実行されませんでした。
このエラーが発生したときは、下記のいずれかを参考に設定すると解決すると思われます。
- リンク サーバーに対して分散トランザクションを実行するとエラー 7391 が表示される
- コンピュータが同じドメインで実行されていない場合に MSDTC による相互認証が失敗する
- Windows Server 2003 または Windows XP Service Pack 2 のインストール後、リンク サーバーに対して分散トランザクションを実行すると SQL Server 2000 でエラー メッセージ 7391 が表示される