次の方法で共有


SQL Server とアダプター クライアントで MSDTC を構成する

SQL アダプター (BizTalk Server、WCF サービス モデル、または WCF チャネル モデルを使用) を使用して SQL Server で実行される操作は、トランザクション スコープ内で実行できます。 クライアント プログラムに同じトランザクションの一部として複数のトランザクション リソースがある場合、トランザクションは MSDTC トランザクションに昇格されます。 アダプターが MSDTC トランザクションのスコープ内で操作を実行できるようにするには、SQL アダプターを実行しているコンピューターと SQL Server の両方で MSDTC を構成する必要があります。 また、Windows ファイアウォールの例外リストに MSDTC を追加する必要があります。 このセクションでは、アダプター クライアントと SQL Server を実行しているコンピューターでこれらのタスクを実行する方法について説明します。

  • BizTalk Server を使用して SQL Server に対する操作を実行するには、常に 2 つのリソース (SQL Server に接続するアダプターと SQL Server 上に存在する BizTalk メッセージ ボックス) が必要です。 そのため、BizTalk Server を使用して実行されるすべての操作は、MSDTC トランザクションのスコープ内で実行されます。 そのため、BizTalk Server で SQL アダプターを使用するには、常に MSDTC を有効にする必要があります。

  • アダプター クライアントが SQL Server データベースにデータを書き込まない操作 (Select 操作など) の場合、トランザクション内で操作を実行する場合の追加のオーバーヘッドが必要ない場合があります。 このような場合は、 UseAmbientTransaction バインディング プロパティを false に設定することで、トランザクション コンテキストなしで操作を実行するように SQL アダプターを構成できます。 バインディング プロパティの詳細については、「 BizTalk Adapter for SQL Server アダプターのバインドプロパティ」を参照してください。 このような場合は、MSDTC も構成する必要はありません。

MSDTC を構成する

  1. コンポーネント サービスを開きます。

    または、 サーバー マネージャーで、[ ツール] を選択し、[ コンポーネント サービス] を選択します。

  2. [コンポーネント サービス]、[コンピューター]、[マイ コンピューター] の順に展開し、[分散トランザクション コーディネーター] を展開し、[ローカル DTC] を右クリックして、[プロパティ] を選択します。

  3. [ セキュリティ ] タブを選択します。このタブで、次のすべてを選択します。

    • ネットワーク DTC アクセス
    • リモート クライアントを許可する
    • 受信を許可する
    • 送信を許可する
    • 認証は必要ありません
  4. [OK] を選択して変更を保存します。

  5. MSDTC サービスの再起動を求められたら、[ はい] を選択します。 MSDTC サービスが再起動されたら、プロパティとコンポーネント サービス MMC を閉じます。

Windows ファイアウォールの例外リストに MSDTC を追加する

ヒント

Microsoft Distributed Tansaction コーディネーター (MSDTC) は、ファイアウォールで既に許可されている可能性があります。 その場合は、受信規則として一覧表示されます。 一覧にない場合は、このセクションを使用して MSDTC を許可します。

  1. Windows ファイアウォールを開き、左側の [詳細設定] を選択します。

    または、 サーバー マネージャーで、[ ツール] を選択し、[ セキュリティが強化された Windows ファイアウォール] を選択します。

  2. [ 受信規則] を右クリックし、[ 新しい規則] を選択します。

  3. ウィザード内で:

    1. [ プログラム] を選択し、[ 次へ] を選択します。
    2. プログラムパスを%SystemRoot%\system32\msdtc.exeに設定し、[次へ] を選択します。
    3. 接続を許可し、[ 次へ] を選択します。
    4. [ ドメイン] を選択し、[ 次へ] を選択します。
    5. MSDTC for Oracle EBSなどの任意の名前を入力し、[完了] を選択します。
  4. ウィザードを完了し、Windows ファイアウォールを閉じます。

こちらもご覧ください

SQL アプリケーションを開発する