SQLServer 2005 ExpressだとTransactionScopeが使えない?解決しました

昨日の日記に対して,id:re_guzyさんから早速コメントいただきました.

MSDTC(Distributed Transaction Coordinator)というサービスが起動していないと、2つ目の接続をオープンしようとした時点で例外が発生します

なるほど,早速確認してみました.
コントロールパネルから[管理ツール]−[コンポーネントサービス]でMMCスナップインを開き,コンソールルート\コンポーネントサービス\コンピュータ\マイコンピュータを右クリック→プロパティでマイ コンピュータのプロパティを開きます.
で,MSDTCタブを見ると,どうやらサービス自体は動いているっぽい?ですが,さらに[セキュリティ構成...]ボタンを押して[セキュリティの構成]ダイアログを表示してみると,セキュリティ設定のチェックボックスが軒並みOFFになっていて,DTCログオンアカウントはNetworkServiceアカウントになってました.
いろいろといじりがいのある画面ですが,まずは[XA トランザクションを有効にする]チェックボックスをONにしてプログラムを実行してみる……ビンゴ!うまくいきました.


とりあえずはSQL Server 2005 Expressつかえる,めでたしめでたしです.
ただMSDTCについてはしっかり理解しておく必要がありますね.でないと,開発ではうまく動くけど,デプロイ時に(設定の仕方がまずくて)全然繋がらない,なんてことがいかにも起こりそうです(この手のトラブルは本当に寿命が縮みます).
それはさておきre_guzyさん,この度はありがとうございました.