SQL クエリ
SQL クエリ イベントは、アプリケーションが SQL サーバーと通信する時間間隔を示します。 これには、接続の開始と終了、コマンドの実行、クエリの実行、その他の SQL アクティビティに必要な時間が含まれます。 すべての計測はクライアント側 で行われます。dotTrace は、クライアントがリクエストを送信してレスポンスを受信するまでの時間を測定します。
SQL クエリ イベントを選択して、アプリがデータにアクセスする方法を分析します。 例: SQL サーバー通信のボトルネックにより、Web アプリケーションの実行速度が遅くなる場合があります。 このような場合は、 SQL クエリ フィルターを使用して、最も遅いクエリと、これらのクエリを実行するメソッドを特定できます。
SQL クエリ イベントを選択した後、 SQL クエリ: コマンド および SQL クエリ: 接続文字列 サブフィルターを使用して結果を微調整できます。
サポートされているプロバイダー
dotTrace は、次のデータプロバイダから SQL データを収集します。
OS | 詳細 |
|---|---|
ウィンドウ | .NET フレームワーク:
.NET Core、.NET 5 以降:
|
Linux および macOS | .NET Core 3.0+、.NET 5 以降:
|
前述のテクノロジーに基づくエンティティフレームワーク / エンティティフレームワークコアプロバイダーもサポートされています。
dotTrace は、OLEDB および ODBC の管理コマンドに関する限られたデータを収集します。
OLE DB を使用する場合、次のコマンドは SQL クエリ: コマンド サブフィルターに表示されません。
[接続を開く]
[接続を閉じる]
ODBC の場合は、次のとおりです。
[トランザクション開始]
[Commit Transaction]
[トランザクションをロールバック]
さらに、ODBC と OLE DB は接続データを提供しないため、どちらの場合も SQL クエリ: 接続文字列 サブフィルターは接続文字列ではなく [不明] を表示します。
SQL クエリ: コマンド
SQL クエリ: コマンド サブフィルターは、クエリ、接続コマンドの開始と終了など、SQL コマンド間の SQL 操作時間の分布を示します。 このサブフィルターを使用して、特定のコマンドにかかる時間を判断します。

コマンド名または照会内容。
選択されたすべてのスレッドについて、SQL コマンドに費やされた合計時間。
選択された合計時間に対する SQL コマンドに費やされた時間の割合。
SQL クエリを適用するには: コマンドフィルター:
フィルターで目的の SQL コマンドを選択します。
コマンドを選択すると、選択したコマンドが実行された時間間隔のデータのみが他のフィルターに表示されます。

SQL クエリウィンドウ
コマンドの内容が長すぎて フィルター ウィンドウに収まらない場合は、幅で切り捨てられます。 このようなコマンドの内容全体を表示するには、 SQL クエリ ウィンドウを開きます。 ウィンドウには SQL クエリ: コマンド フィルターと同じデータが表示されますが、コンテンツ別にコマンドを検索したり、コンテンツをクリップボードにコピーすることもできます。
SQL クエリウィンドウを開くには
次のいずれかを実行します。
メニュー を使用してください。
SQL クエリ: コマンド フィルターの
ボタンをクリックします。
SQL クエリ: コマンド フィルターと同様に、 SQL クエリ ウィンドウも SQL コマンドでフィルターとして機能します。
特定のコマンドでフィルターを適用する (問い合わせ)
次のいずれかを実行します。
目的の SQL コマンドを選択します。
目的の SQL コマンドをダブルクリックします。
目的の SQL コマンドを選択し、 Enter を押します
目的の SQL コマンドのコンテキストメニューで、 他を選択して消去する を選択します。
いくつかのコマンドでフィルターを適用する (クエリ)
次のいずれかを実行します。
目的の SQL コマンドを選択し、 Space を押します。
目的の SQL コマンドのコンテキストメニューで、 フィルターとして選択 を選択します。
これは SQL コマンドを選択に追加します。
コマンド内容をクリップボードにコピーするには
目的の SQL クエリのコンテキストメニューで、 クリップボードにコピー を選択します。
特定の SQL コマンド(クエリ)をコンテンツ別に検索するには
SQL クエリ ウィンドウの上部にある検索フィールドで、探しているコマンド(クエリ)コンテンツの入力を開始します。 入力すると、SQL コマンドのリストが絞り込まれ、入力した文字列に一致するものが提案されます。
便宜上、複数の行からなる大きなコマンドは切り捨てられます。
トランケートされたコマンドの完全な内容を表示するには
次のいずれかを実行します。
コマンドの最後にある ... ボタンをクリックします。
目的の SQL コマンドのコンテキストメニューで、 完全なクエリを表示 を選択します。
SQL クエリ: 接続文字列
SQL クエリ: 接続文字列 サブフィルターは、SQL コマンドと特定の接続パラメーターとの間の SQL クエリ 時間の分布を示します。 このフィルターは、たとえば、アプリケーションが複数の SQL サーバーと通信する場合に便利です。

接続文字列。
これらの接続パラメーターを持つすべての SQL コマンドの合計時間。
これらの接続パラメーターで SQL コマンドを実行した時間の、選択した合計時間に対する割合。
SQL クエリを適用するには: 接続文字列フィルター
フィルターで目的の文字列を選択します。
接続文字列を選択すると、スレッドが対応する接続パラメーターで SQL コマンドを実行する時間間隔の間だけ、他のフィルターにデータが表示されます。
