C#と諸々

C#がメインで他もまぁ諸々なブログです
おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`)
つーかコメント欲しい(´・ω・`)

2006/09/25 19:07
前に書いたTransactionScopeによる暗黙のトランザクションの実装や、COM+による自動トランザクションは、MSDTCというWindowsサービスを利用している。
これらのトランザクション実装は、MSDTCが起動されていないと正常に動作しない。

MSDTCは Distributed Transaction Coordinator という名前でWindowsサービスに登録されている。
MSDTCが起動されていない場合は、以下のようにしてMSDTCが自動で起動するよう設定する。


  1. [ コントロール パネル ] - [ 管理ツール ] - [ サービス ] を開く。

  2. サービスの [ Distributed Transaction Coordinator ] という項目を右クリックし、プロパティを開く。

  3. [ 全般 ]タブの中にある [ スタートアップの種類 ] を [ 自動 ] に変更する。

  4. [ 開始 ] ボタンをクリックする。

  5. [ OK ] ボタンをクリックする。


これで正常にトランザクション処理が行われる。

また、SQL Server 2005のドキュメントの [ 2.5.3 Windows で MS DTC が一部無効になっている ] という項目を見ると、MS DTCを完全に有効にする手順が記載されている。

分散トランザクションを使用するリンク サーバー、分散クエリ、およびリモート ストアド プロシージャが、この問題の影響を受ける場合があります。
このような問題を回避するには、SQL Server 2005 がインストールされているサーバーで MS DTC を完全に有効にする必要があります。

と書いてあるので、そういう問題に遭遇した場合は完全に有効にすればいい(遭遇しなきゃしなくていい)ってことかな。たぶん。











トラックバックURL↓
http://csharper.blog57.fc2.com/tb.php/27-844ffc41