none
クラスター時のMSDTCはひとつかふたつか

    質問

  • 質問:クラスター構成時に必要なMSDTCの数(1つor2つ)

    構成:

     サーバ:2台(仮想サーバ)

     OS:Windows2016 STD

     DB:SQL 2017

     クラスター:WSFCでSQLクラスターを組んでいます

    ・サーバA:インスタンス①

    ・サーバーB:インスタンス②

    クラスターでMSDTCを構成するのですが、上記の構成の場合は

    MSDTCの構成は1つでしょうか、2つでしょうか

    MSDTCはインスタンス毎に必要なのでしょうか

    2019年4月17日 1:56

すべての返信

  • チャブーンです。

    まず、SQL ServerでWSFCを組む場合、MSDTCは必須ではありません。その件については、したの資料の"Microsoft 分散トランザクション コーディネーターのインストール"項目を確認してください

    https://docs.microsoft.com/ja-jp/sql/sql-server/failover-clusters/install/before-installing-failover-clustering?view=sql-server-2017

    インスタンス1=2間でレプリケーションを行ったりするのでしょうか?


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2019年4月18日 4:47
  • ご返信ありがとうございます

    上記は事前に確認しています

    今回はSSISをインストールするので、MSDTCはマストだと判断しました

    >インスタンス1=2間でレプリケーションを行ったりするのでしょうか?

    インスタンス①⇔②でレプリケーションを実施します

    ご確認のほどよろしくお願いいたします


    2019年4月19日 2:45
  • クラスターリソースとしての MSDTC の必要性

    今の Windows Server であれば、明示的にクラスター上に MSDTC のリソースを作成しなくても、MSDTC を動作させることができるようになっています。

    クラスターリソースとして MSDTC を作成していない場合、各サーバーのローカルの MSDTC が使用されることになります。

    クラスターリソースとして MSDTC を作成した場合、クラスターノードでは「クラスター化された DTC」として認識されるようになります。

    クラスター化された MSDTC を使用した場合と、ローカルの MSDTC を使用した場合では、障害が発生した場合に解決できないトランザクションを Abort にするか Rollback にするかの動作が変わります。

    「トランザクションが異常終了し、解決できない状態となった場合にどのようにふるまいを行わせたいか」によって、クラスター化するかどうかについてを決めることになるかと。

    複数の MSDTC のクラスターリソースを作成する必要があるか?

    冒頭で紹介したリンク内では次のように記載されています。

    ====

    Windows Server 2008 の MSFC クラスターから MSDTC リソースの作成ルールが拡張されており、クラスター グループ毎に MSDTC リソースを作成することができるようになっています。 その結果、MSDTC を利用するクラスター リソースが複数のクラスター グループに存在する場合、必要とされるクラスター グループ毎に MSDTC リソースを作成することが MSFC クラスター環境にて可用性を高めて動作できることが可能となり、サポートではこちらの構成を推奨しております。

    ====

    可用性を高めるという観点で、複数のクラスターグループが存在する場合に、グループごとに MSDTC リソースを作成することが推奨されています。

    MSDTC の可用性が不要なのであれば、各インスタンス用の、クラスター化された MSDTC リソースは不要 (一つのクラスター化された DTC or ローカル DTC の利用) かと考えられます。

    2019年4月19日 8:31
    モデレータ
  • お返事遅れました

    クラスタごとにMSDTCを作成したほうがベターみたいですね

    詳しいご回答ありがとうございました

    大変助かりました

    2019年5月14日 5:48