Ado.netを使用してSQLServerのストアドプロシージャ(TSQL)を呼び出すC#コードをデバッグしています。ストアドプロシージャにステップインするにはどうすればよいですか?
(これはマイクロソフトのスタッフによってデモされたのを見たと思いますが、それを機能させるために必要な101の「魔法の」設定を思い出せません。)
それがまさに私が経験したプロセスだったので、私はダビデの答えとそれに対するイアンのコメントに基づいて構築します。
仮定:回答はVS2008&VS201に基づいています。
.NETアプリのデバッグ中にSQLServerでT-SQLストアドプロシージャをステップ実行するには、次の手順を実行する必要があります。
MSサポートの指示に従ってください "Visual Studio .NETでストアドプロシージャをデバッグする方法 (オプション2)"
ストアドプロシージャが呼び出されるデータ接続でSQL/CLRデバッグを許可するを有効にします。
コメントから追加:(これはそれを機能させるための鍵のようです)
プログラムで作成された接続でも機能します。サーバーインスタンスを右クリックし、[プロパティ]をクリックして、[接続文字列](ドイツ語でVerbindungszeichenfolge)までスクロールすると表示されるまったく同じ接続文字列を使用する必要があります。
VS 2012を使用していて、サーバーエクスプローラーウィンドウからSQL/CLRデバッグを有効にできない理由について混乱している場合は、実際には[SQLServerオブジェクトエクスプローラー]ウィンドウを介して接続する必要があります。
そのウィンドウで接続が確立されると、Allow SQL/CLR Debugging
およびApplication Debugging
設定はサーバーの右クリックコンテキストメニューに表示されます。これはおそらく2013年にも当てはまりますが、確認できません。
プロジェクトのプロパティでSQLServerのデバッグを有効にします。
ソリューションエクスプローラーで、(ソリューションではなく)プロジェクトを右クリックし、[プロパティ]ページを開きます。ツリーの[構成のプロパティ]をクリックし、[デバッグ]ページの[SQL Serverデバッグ]チェックボックスをクリックして選択して、ストアドプロシージャのデバッグを有効にします。