経験則&私なりの推理から出た結論w
SQLServer用CLRストアドプロシジャをVisualStudio2005からステップでデバッグするには……
「配置先データベースがローカルにあること」だと思う。思う、だよ?
VisualStudioでコンパイル→配置、をすると、DLLは配置されるデータベースサーバー上でアセンブリを展開するわけだから、デバッグする時に必要な情報はサーバー上にある。そこでクライアントのVisualStudioから「ステップ実行」すると必要な情報がサーバーとクライアントに分断されてしまうことになってうまく行かないんじゃないだろうか?
で、解決策
- Testツール、もしくはメニューの「テスト」を使って、CLRストアドプロシジャ関数を実行する。テストモジュールでデータベース接続してから「Context=True」するか、ソース中で#ifdefを使って接続文字列をテスト用に宣言して使用するかは、自由だ~!
- クライアントにExpress版を展開して、サーバーと同じデータベース環境をさくっとクローン作成してテストする
ぷろぐらまぶるモドキな私は前者でifdefするのが好きなんだけど、楽だし簡単なのは後者だと思う。SQLServer2005には「データベースのコピー」があるんだもん。