.NET
MSDTC
分散トランザクション

分散トランザクションの設定

More than 3 years have passed since last update.

マイクロソフト分散トランザクションの設定及び確認方法を下記に示す。

分散トランザクションとは、複数のMicrosoft SQL サーバー間でトランザクションを行う機能。(※.net framework 2.0 より利用可能な機能)

設定・確認手順

1.分散トランザクションの設定
2.名前解決の確認
3.ファイヤーウォールの確認
4.レジストリの確認
5.テストツール DTCTester の実行

1.分散トランザクションの設定

管理者モードでコマンドラインを起動する。


dcomcnfg

コンポーネントサービスが起動するので、左側のツリーより
[コンソールルート]
[コンポーネントサービス]
[コンピューター]
[マイコンピューター]
[Distributed Tansaction Coordinator]
[ローカルDTC] を選択、
右クリック [プロパティ] タブ [セキュリティ] を選択する。

下記、項目をチェックする。
*ネットワークDTCアクセス
*受信を許可する
*送信を許可する
*認証を必要としない

temp.png

2.名前解決の確認

分散トランザクションを起動するホスト間で名前解決が出来るか確認する。
名前解決が出来ない場合は、WINSサーバーに登録、又は lmhosts を設定する。

コマンドラインを起動する。

名前で確認する場合


nbtstat -a [コンピューター名]

IPで確認する場合


nbtstat -A [IPアドレス]

3.ファイヤーウォールの確認

分散トランザクションで利用する TCP ポート 135 を許可する。

分散トランザクションで利用する一時ポート用のファイヤーウォール設定が一覧にあるので有効にする。

4.レジストリの確認

仮想環境で、OSのイメージをコピーした場合 分散トランザクションで利用する一意のID が重複していないか確認する。

レジストリエディタを起動

レジストリパス HKEY_CLASSES_ROOT\CID 配下のキーが PC間で重複していないか確認する。

もし、重複していた場合、アンインストール、インストールを行う。

コマンドラインより

アンインストール


msdtc -uninstall

インストール


msdtc -install

再度、レジストリを確認し重複していない事を確認する。

5.テストツール DTCTester での確認

マイクロソフトより提供されている、分散トランザクションテストサールをダウンロードする。

記載内容に従ってテストを行う。

http://support.microsoft.com/kb/293799/ja

Commit [Enter] で、Successfully が表示されれば、分散トランザクションの設定は完了です。

※参照

http://msdn.microsoft.com/ja-jp/library/aa561924.aspx