[ライブ クエリ統計]
適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL Server Management Studio では、アクティブ クエリのライブ実行プランを表示できます。 このライブ クエリ プランでは、クエリ プラン演算子間の制御フローとして、クエリ実行プロセスをリアルタイムで洞察できます。 ライブ クエリ プランには、全体的なクエリ進捗状況と演算子レベルのランタイム実行統計が表示されます。生成された行の数、経過時間、演算子の進捗状況などです。このデータはクエリの完了を待つことなくリアルタイムで利用できるため、これらの実行統計はクエリ パフォーマンス問題のデバッグで非常に役立ちます この機能は SQL Server 2016 (13.x) Management Studio 以降のバージョンで使用できますが、SQL Server 2014 (12.x) でも動作します。
Note
内部的には、ライブ クエリ統計では、sys.dm_exec_query_profiles DMV を利用します。
適用対象: SQL Server (SQL Server 2014 (12.x) 以降) および Azure SQL データベース。
警告
この機能は、主にトラブルシューティングの目的で使用されます。 この機能を利用すると、特に SQL Server 2014 (12.x) で、全体的なクエリ パフォーマンスがやや遅くなることがあります。 詳細については、「クエリ プロファイリング インフラストラクチャ」を参照してください。
この機能は Transact-SQL デバッガーと共に利用できます。
1 つのクエリのライブ クエリ統計を表示するには
ライブ クエリ実行プランを表示するには、ツール メニューで、 [ライブ クエリ統計を含む] アイコンをクリックします。
Management Studio で選択したクエリを右クリックし、 [ライブ クエリ統計を含める] をクリックしてライブ クエリ実行プランを表示することもできます。
クエリを実行します。 ライブ クエリ プランには、経過時間や進捗状況など、全体的なクエリ進捗状況と演算子レベルのランタイム実行統計がクエリ プラン演算子に対して表示されます。 クエリ実行の進捗中は、クエリ進捗状況情報と実行統計が定期的に更新されます。 この情報を利用して全体的なクエリ実行プロセスを理解し、実行時間の長いクエリ、無限に実行されるクエリ、tempdb オーバーフローを引き起こすクエリ、タイムアウト問題をデバッグします。
[
任意のクエリのライブ クエリ統計を表示するには
ライブ実行プランは、 [プロセス] または [アクティブなコストの高いクエリ] テーブルの任意のクエリを右クリックすることで、 利用状況モニター からもアクセスできます。
解説
ライブ クエリ統計でクエリの進捗状況に関する情報を記録するには、この統計プロファイル インフラストラクチャを有効にする必要があります。 バージョンによっては、オーバーヘッドが大きくなる可能性があります。 このオーバーヘッドの詳細については、「クエリ プロファイリング インフラストラクチャ」を参照してください。
アクセス許可
[ライブ クエリ統計] 結果ページに値を設定するにはデータベース レベルの SHOWPLAN
アクセス許可が必要です。クエリを実行するには必要なすべてのアクセス許可が必要です。
SQL Server でライブ統計を表示するには、サーバーレベルの VIEW SERVER STATE
アクセス許可が必要です。
SQL Database の Premium 階層でライブ統計を表示するには、データベースの VIEW DATABASE STATE
アクセス許可が必要です。 SQL Database の Standard 階層と Basic 階層でライブ統計を表示するには、サーバー管理者または Azure Active Directory 管理者のアカウントが必要です。
参照
実行プラン
クエリ処理アーキテクチャ ガイド
パフォーマンスの監視とチューニング
パフォーマンス監視およびチューニング ツール
利用状況モニターを開く方法 (SQL Server Management Studio)
利用状況モニター
クエリのストアを使用した、パフォーマンスの監視
sys.dm_exec_query_statistics_xml
sys.dm_exec_query_profiles
トレース フラグ
プラン表示の論理操作と物理操作のリファレンス
クエリ プロファイリング インフラストラクチャ