2009-08-03 44 views
1

まずはこれが可能かどうかわかりませんが、私のシナリオについて説明します。MSDTC - セキュリティで保護された接続を確立しようとしているときにエラーが発生しました(スタンドアロン)

SQL Server 2008データベースはすべてWindows Server 2008上で実行されているWCFサービスが用意されています。LANに接続している場合はこのすべてが正常に機能しますが、このボックスをデモ用に使用します。私はスタンドアローンモード(つまり、どのネットワークにも接続されていない)で動作させたいと考えています。

スタンドアロンモードでこれを実行しようとすると、SQL Serverデータベースが動作しているように見えます(データを取得できます)。しかし、WCFサービスからトランザクションスコープ内にデータを挿入しようとすると、クライアント側で通信障害例外が発生しています。 Windowsのイベントログを確認すると、「システムとの安全な接続を確立しようとすると、MSDTCでエラーが発生しました」というメッセージが表示されます。

は、誰もが、これは

答えて

1

エラーが発生した場合、エラーは完全な意味を持ちます。

ここで問題となっていたのは、サーバーに展開されたアプリケーションのどこかに、このサーバーがアクセスできないハードコードされたDNS名を参照していたことです(スタンドアロンだったためです)。私が理解しているところでは、DTCはトランザクションを流そうとしましたが、コンピュータ名からアドレスを確立することに失敗し、それが爆発しました。アプリケーションはWCFサービスなので、エラーはかなり難解でしたが、最終的にはサービストレースをオンにしてトレースしました。

誰もが同様のエラーに遭遇するのを助けることを望みます。ハードコードされた値に注意してください。

0

それは、接続文字列を使用してデータベースに接続するためのWCFサービスの利用を行うには可能性が機能するようにDTCに設定する必要があるか知っています。データソース=を使用してみてください。またはデータソース= localhostを使用して、ループバックネットワークアダプタ(127.0.0.1)を使用していることを確認します。

Windowsマシンでファイアウォールが動作していますか?サーバーはドメインの一部ですか?

MS DTC(コンポーネントサービスMMCプラグイン)のセキュリティ設定ダイアログを調べることをお勧めします。 「トランザクションマネージャの通信」を「認証不要」に設定し、その他のほとんどのオプションをベースラインとして確認してください。

関連する問題