問題タブ [sql-server-profiler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nhibernate - SQLプロファイラーはnhibernateの実行中のクエリを2回表示しますか?
作業中のアプリケーションでパフォーマンス分析を行っています。このアプリケーションは、MSSQL Server(2005)で古いバージョンのNHibernate(1.0)を使用するWebベース(asp.net)です。
アプリケーションに対してプロファイラーを実行すると、オブジェクトを2回クエリしているように見えます。1回は直接クエリとして、もう1回はsp_executesqlでラップされています。例えば:
プロファイラー内の統計を見ると、それらは別個のイベントであることがわかります(sp_executesqlの呼び出しがイベント10-RPC:Completedとして記録されているのに対し、selectはイベント45-SP:StmtCompletedとして記録されています)。
私はこれまでNHibernateをあまり使用していませんでしたが、これが正常な動作であるとは想像できません。プロファイルトレースを読み間違えたのでしょうか(この場合、上記をどのように解釈する必要がありますか)、またはこれには正当な理由がありますか?
上記が私が思うほど悪い場合、この動作をオフにする方法はありますか?
ありがとう
.net - Oracle の Sqlprofiler
私は最近、Oracle db を使用して .net で新しい開発プロジェクトを開始しました。以前は oracle を使用したことがありませんでしたが、sqlprofiler のような oracle 用のツールもあるのだろうかと思いました。
sql-server - SQL Server 2008 の SQL プロファイラーはどこにありますか?
SQL Server 2008をダウンロードしましたが、 SQL Profilerがどこにも見つからないようです。
SQL Server Enterprise Express/試用版をインストールしたと思いますか?
結局、それは Express であり、Enterprise ではなかったと思いますか?
sql-server - SQL Server Profiler で「exec sp_reset_connection」とはどういう意味ですか?
「sp_reset_connection」を発行して、Sql Profiler が何を意味するのかを理解しようとしています。
次の「exec sp_reset_connection」行に続いて、BatchStarting と Completed があります。
基本的に、最初の行「exec sp_reset_connection」は、プロセス全体(接続が開かれ、選択stmtが実行され、接続が閉じられ、プールに解放される)が行われることを意味しますか? または、私の接続はまだオープン段階にあります。
そして、sp_reset_connection が自分の select ステートメントの前に実行されるのはなぜですか? リセットはユーザーの sql の後に来るべきではありませんか?
接続がいつ開かれ、いつ閉じられるかをより詳細に知る方法はありますか?
「exec sp_reset_connection」と表示されているということは、接続が閉じられているということですか?
sql-server-2008 - SQL プロファイラーは、渡されたパラメーター値を表示しますか?
SQL Server Express 2008 がインストールされているため (試用版のみ)、このサードパーティの SQL トレース アプリケーションを使用しています。
@p1 のようなパラメーターを使用してサーバーに渡された sql のみが表示され、パラメーターの実際の値は表示されません。これは私にとってそれほど有用ではありません。
組み込みの SQL プロファイラーは、.net Web アプリが '2342' または a = 200 のように渡す実際の値を表示しますか?
sql-server-2008 - パラメータ情報を含むクエリを表示するSQLExpress2008のSQLプロファイラ
重複:SQLプロファイラーは渡されたパラメーター値を表示しますか? (同じユーザーからの質問です。)
やあ、
データベースに呼び出されるすべてのSQL(raw sqlまたはsproc)と、クエリに渡されるパラメーターを表示するSQLプロファイラーが必要です。
試用版があれば市販品でも構いません。
sql-server - SQL プロファイラー トレースについて
現在、Win2k8 サーバー上の DotNetNuke SQL Server 2005 Express サイトでいくつかの問題が発生しています。ほとんどの場合、スムーズに実行されます。ただし、時折 (1 時間に 1 ~ 2 回の注文で) 実行速度が非常に遅くなります。ユーザーの観点からは、これが発生すると、何らかの記述でデッドロックが発生したように見えます。
問題を解決するために、SQL Express データベースに対して SQL Profiler を実行しました。
結果を見て、私が持っているいくつかの具体的な質問は次のとおりです。
SQL トレースは、RPC:Completed ごとに監査ログオンと監査ログオフを示しています。これは、接続プールが機能していないということですか?
「.NET CLR データ」でパフォーマンス モニターを見ると、「SQL クライアント」カウンターのいずれにもインスタンスがありません。
速度低下が発生したときに実行されているクエリは、まだ異常ではないように見えます。それ以外のときは高速に実行されます。今後の調査に役立つツールとして、他にどのような perfmon カウンターまたはその他のトレース/ログ ファイルを提案できますか。
sql - SQL サーバー プロファイラに LINQ To Sql クエリが表示されない
Linq to SQL によって生成された SQL を SQL Server Profiler (2005) で表示しようとしています。
linq to sql 以外からサーバーに送信された sql を確認できます。
トレースのイベント選択を変更する必要があるに違いありませんが、他に何を選択すればよいかわかりません。
現在、これのみを選択しています: SQL:StmtCompleted - TextData & SPID
データ コンテキスト ログも SQL Debug Visualizer も使用したくありません。プロファイラーを使用する必要があります。
LINQ to SQL クエリが表示されないのはなぜですか?
ありがとう。
編集
SQL:BatchCompleted を追加しましたが、役に立ちませんでした。
編集2
イベント選択のストアド プロシージャ カテゴリの下にあるイベント RPC:Completed を追加しました。これはうまくいきました!
.net - UpdateBatchSize を設定する際の注意事項
多くの行 (10,000 以上) を持つ 2 つのデータ テーブルをマージする .NET アプリケーションがあります。DataAdapter.Update コマンドを使用すると、SQL テーブルに対して多数の更新/挿入を実行する可能性が高くなります。
現在、Adapter UpdateBatchSize プロパティを 200 に設定しています。VS は、この値を高く設定しすぎるとパフォーマンスが低下する可能性があるため警告します。わかりました。
パフォーマンスに関して、このプロパティを設定するときに何を探す必要がありますか? 何はともあれ、大量の行を更新するにはかなりの時間がかかります。私のマシン(またはDBサーバー)で実行するのにそれほど時間はかからないようですが、システムが他のアイテムを実行してロードされている場合、これは問題になる可能性があります。
プロファイラーで検索できるものはありますか? 標準的なプロファイリングを行うと、期間は通常 0 です。1 回または 2 回ヒットすることもあり (おそらく全体で 20 回)、約 20,000 回の更新のうち、3 ~ 4 回が 20 回ヒットします。CPU は、1 ~ 2 回ヒットしたカップルを除いて 0 です。 . 約 10 になる 2 つのレコードがあります。読み取りは常に 2 で、書き込みは常に 0 です。
c# - SQL Server:イベントがテーブルを参照していません(チューニングアドバイザーの警告)
SQL Serverとの通信にLinq2SQLを使用するC#で記述されたアプリケーションがあります。実行速度が少し(非常に)遅いクエリがいくつかありますが、速度を上げるにはおそらくいくつかのインデックスが必要だと思います。
しかし、私はそれをどのように行うのか、何を、どこで、何をすべきか、すべきでないのかを本当に知りません。そこで、ここで聞いてみようと思っていたのですが、データベースエンジンチューニングアドバイザというプログラムを見つけて、最初に試してみようと思いました。問題は、それを機能させることができないことです。どうすればいいのかわからないのはたぶん私ですが、これがよくわかりません。私が見る限り、私はヘルプファイルに従って私がすることになっていることをしました。
- SQLServerプロファイラーを開きます。
- チューニングテンプレートを使用して新しいトレースを開始します。
- アプリケーションを起動し、SQLクエリを生成するいくつかのことを実行します。
- アプリケーションを閉じます。
- トレースを停止します。
- トレースをトレースファイルとして保存します。
- データベースエンジンチューニングアドバイザーを開く
- [ワークロードとしてファイル]を選択し、前に保存したトレースファイルを選択します。
- 調整するデータベースとテーブルの選択で、アプリケーションが使用するデータベースを選択します。
- [分析の開始]をクリックします。
これまでのところ、問題はないと思っていました。しかし、しばらくして終了すると、次のようになります。
そして、完全に空の推奨ページ。イベントはテーブルを参照していませんか?それはどういう意味ですか(もちろん:p以外)?ここでのプロセスについて何か誤解したことがありますか?何が起こっている?