2009-05-21 4 views
1

私のASP.Net(.NET 2.0)アプリケーションからのデータベースクエリの総数が個あることを確認する最も簡単な方法は何ですか?特定のWebページの合計select文の数は?

私のアプリケーションは、すべてのデータが動的で、すべてがweb.configの1つの接続文字列を通過するため、SQL 2005データベースを頻繁に使用します。接続プーリングが有効になっています。

いくつのselect文が実行されるのですか私はブラウザにロードする特定のページをロードします。

私のデータベースへの接続しか見ることができない限り、私はその情報を.net側から、またはdb側から見ることができるかどうかは気にしません。私は共有DBサーバーを使用しているので、他のデータベースがたくさんあるので、そのdbサーバーへのすべての接続ではありません。

答えて

0

SQLプロファイラを使用します。必要なデータベースでフィルタリングし、select文を表示するように設定できます。

2

これを行う最も良い方法はset up a profiler on your databaseです。その後、ASP.NETアプリケーションに対して1つの要求を行います。プロファイラは任意のデータを集計し、そのデータを使用してアプリケーションからSQL Serverに送信されたクエリを特定することができます。

1

SQL Serverプロファイラには、DBで実行されたすべてのアクションが一覧表示されます。あなたのプロジェクトに別のdbログイン名を使用している場合(あなたがそうでない場合はおそらく本当に良いアイデアです)、あなたはログインしたアクションだけを表示するようにフィルタリングできます(イベント選択、カラムフィルタ、ログイン名を参照)。

0

コードに何らかの種類のデータベース層がある場合は、select文を実行するたびにログメッセージを書き出すように変更できます。次に、ページを1回ロードしてログステートメントの数を数えます。コードがどのように構造化されているかによって、これはうまく動作しないかもしれませんが、オプションです。

編集:質問を誤解しました。私は、複数のクライアントが同じデータベースに接続していて、同じデータベースサーバーに接続していないと思っていました。その場合、プロファイラがおそらく最良の選択です。

0

SQL Server Profilerにアクセスできますか?このようなことを監視するトレースを設定するには、ページを読み込んでプロファイラのエフェクトを確認します。

0

Jプロファイラがパフォーマンスに影響を与える可能性があるので、devでこれを行うのが最善です。

関連する問題