2ノードのSQL Server 2012フェールオーバークラスターを作成しています。 MSDTCコンポーネントをインストールする必要がありますか?
はいの場合、両方を単一の共有ディスクにインストールできますか?
MSDTCは、SQL Server 2012フェールオーバークラスターには必要ありません。ただし、リンクサーバーを使用する場合は、クラスター化されたMSDTCリソースを作成する必要があります。良いニュースは、クラスターが既に構築されていて、SQL Serverがインストールされた後にセットアップできることです。
Microsoft分散トランザクションコーディネーター(MSDTC)は、複数のデータソース間で原子性と一貫性を保証するメカニズムを提供します。複数のデータソースにわたって明示的にトランザクション処理を実行する予定がある場合、またはSQL Server 2005をインストールする場合に必要です。
これは、クラスター化されたSQL Serverとクラスター化されていないSQL Serverの両方のインストールに等しく適用されます。
分散トランザクションを使用する予定がない場合は、MSDTCをインストールする必要はありません。
以下は、分散トランザクションの例です。
SET XACT_ABORT ON;
BEGIN TRY
BEGIN TRANSACTION
SELECT *
FROM LinkedServerName.master.sys.sysobjects so;
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION
END
END CATCH
このようなT-SQLをクラスター化されたインスタンスで実行する予定がある場合は、SQL Serverインスタンス自体と同じクラスターリソースグループの一部として構成されている別のLUNにMSDTCをインストールする必要があります。 SQL Serverが使用するディスクにインストールしないでください。これらのディスクは、MSDTCサービスが停止する前のフェイルオーバー中に消えてしまう可能性があるためです。
Dcomcnfgユーティリティを使用して、分散トランザクションコーディネーターがネットワーク上で通信できるように、セキュリティ設定を構成する必要があります。
詳細については、 このMSDNブログ を参照してください。