フロントエンドとして.NET/C#を使用し、バックエンドとしてSQLServer2008を使用しているアプリケーションを使用しました。常にトランザクションがc#コードで処理されることがわかりました。ストアドプロシージャ内でトランザクションを使用してはならないという、このプロジェクトの不文律のようです。
個人的には、コードをより細かく制御できるため、トランザクションはストアドプロシージャ内で処理する必要があると感じています。開いているトランザクションは必要ありませんが、スクリプト内で多くの検証が行われる可能性があります。挿入/更新/削除を実行する直前にトランザクションを開く必要があり、できるだけ早く閉じることができます。
トランザクションを処理するためのベストプラクティスを理解するのに役立つ回答を探しています。正確にいつ、ストアドプロシージャ/ C#内のトランザクションを選択する必要がありますか。