13

System.Transaction TrasactionScope が DTC にエスカレートされている理由を正確に判断する方法はありますか? トランザクションをエスカレートしているように見えるコンポーネントの 1 つにぶつかりましたが、他のすべてのコンポーネント (一見似ているように見えます) はエスカレーションを行いません。

エスカレーションの理由に関する情報は提供されていますか? また、それらをどのように見つけて観察することができますか? SQL プロファイラ? ログファイル?それとも、これで運が悪いのですか?

更新: 情報を得るために SQL Server 2005 に対して実行しています

4

2 に答える 2

9

TransactionScopeアプリケーションが問題のトランザクション スコープ内で 2 番目の接続 (同じデータベースへの接続であっても) を開くたびに、トランザクションを使用するとエスカレートされます。

于 2009-02-03T11:23:49.293 に答える
7

分散トランザクション コーディネーター サービスをシャットダウンし、そのスタートアップの種類を無効に設定してみてください。これにより、コール スタックに問題のコードを持つトランザクションがプロモートされるときに例外が発生します。

もちろん、このサービスを必要とする他のアイテムがマシン上で実行されている場合、これは役に立ちませんが、デバッグ マシンでは可能です。

于 2009-02-03T11:32:48.420 に答える