Visual Studio 2012の多層アプリケーションでT-SQLストアドプロシージャをデバッグするにはどうすればよいですか?
明確にするために、VS 2012のsprocにブレークポイントを設定し、同じデバッグセッションでASP.NETWebFormsアプリからsprocが呼び出されたときにブレークポイントを設定したいと思います。
VS 2010の場合と同じ手順に従うと、ブレークポイントはsproc内でヒットしません。
SQL Server 2008 R2 ExpressデータベースのsprocでのT-SQLのデバッグは、Visual Studio2010で期待どおりに機能します。
すべてが正しく有効になっていることを確認するために、VS 2010の手順( ここ )を確認しましたが、VS2012または.NET4.5にはそのようなページはありません。
欠落している手順は「アプリケーションのデバッグ」を有効にすることのようですが、VS2012の[サーバーエクスプローラー]> [データ接続]コンテキストメニューにはそのようなオプションはありません。
「サーバーエクスプローラー」ではなく「SQLServerオブジェクトエクスプローラー」を開く必要があります。これが2010年と2012年の違いです。次にサーバーを右クリックして「アプリケーションのデバッグ」を選択します。
これはVS2012およびSQL2012用です。はい、他のバージョンでは多少異なりますが、同様の設定に従います。さまざまな設定を適切に行う必要があるため、注意が必要です。そうしないと機能しません。
すべての正しいオプションを使用したVSとSQLの両方のVanillaインストール(これを行う方法はこの記事の範囲外です)
環境全体に対する完全な管理者権限とSQLに対するsysadmin権限(基本的には開発環境。実稼働環境ではこれを実行したくない)
私は常に完全なローカルで.netWebアプリをデバッグしますIISこれはコントロールパネルからインストールされたWindows機能です
vS sqlサーバーデータベースプロジェクトを使用してデータベースなどを開発している間、私は常に完全なスタンドアロンローカルSQLで作業します。スキーマ比較を使用して、VSで行われた変更でそのSQLを更新します(これを行う方法はこの記事の範囲外です)
.netおよびSQLサーバーで有効になっている.netプロジェクトのプロパティ、ウェブ、デバッガー(下部)に移動します
sQLサーバーオブジェクトエクスプローラーを表示します(サーバーエクスプローラーではありません)
ソリューションを再構築し、緑色の矢印Internet Explorerをクリックして、IDE内からデバッグモードで.netWebアプリを実行します。
私は何も忘れていないことを願っています。持っていれば、投稿を修正しに来ます。
これはすべて複雑に聞こえるかもしれません。です。しかし、少しの規律と忍耐でそれは貴重です。幸運を。
これを行う最も簡単な方法は、DBをプロジェクトとしてソリューションに追加することだと思います。これを行うには、SQL Serverオブジェクトエクスプローラー(SSOX)でDBを右クリックします。これは、DBを開発およびデバッグするための非常に優れた方法です。プロジェクトにDBを追加した後、任意の場所にブレークポイントを追加し、LocalDB(または必要に応じて別のターゲット)に対してデバッグできます。このアプローチの最大の欠点は、既存のデータが一緒に移行されないことです(ただし、変更をSQL DBに自由に公開することは簡単にできます)。詳細なガイダンスについては、MSDNのSSDTの ドキュメント を参照してください。
次の詳細な記事では、.Netアプリケーションの実行時にストアドプロシージャのデバッグを有効にする方法を正確に説明しています。
http://www.sqlmag.com/content1/topic/debugging-stored-procedures-142054/catpath/sql-server