2009-04-06 25 views
0

特定のテーブルが変更されたときに、アプリケーションSql Server 2008データベースを更新する必要があるSql Server 2000データベースアプリケーションがあります。このために、Sql 2008サーバー上のストアドプロシージャを起動するSql 2000サーバーでトリガを使用します。 SMSSからそれをしようとすると、私はこのメッセージを取得します。SQL Server 2005データベースを使用するために使用されるSql Server 2008データベースを参照するSQL Server 2000トリガが失敗する

The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction. 

私たちのアプリケーションを、私たちはこの週末のサーバーをアップグレードしました。リンクされたサーバーオブジェクトは、古いサーバーと同じ構成です。ここに私のDTCの設定があります。間違ったことがあることは他にありますか?

dtc configuration http://yourcls.com/dtc-configuration.png

答えて

0

Sql 2000サーバー上の同じDTCセキュリティ構成ウィンドウでは、ネットワークDTCアクセスが有効になっていませんでした。これは古いサーバーではうまくいきましたが、Server 2008とSql Server 2008にアップグレードしたときは、両方のサーバーでこの機能を有効にする必要がありました。それは謎です。

0

Googleは私のためthis knowledge base articleを思い付きました。あなたのスクリーンショットから、DTCが正しく設定されているように見えます(スキミングしていますが、間違いなくもう一度チェックします)。ファイアウォールの設定を確認しましたか?

+0

DTCトラフィックは許可されていますが、実際にはWindowsファイアウォールは実際にはそのマシンで使用されています。 (それは公開されていません) –

関連する問題