1. SQL Server Management Studio (SSMS) のクエリ実行ログ機能を使用します。
- SSMS を開き、実行記録を表示するデータベース サーバーに接続します。
- [オブジェクト エクスプローラー] ペインで、実行レコードを表示するデータベースを右クリックし、[レポート] > [標準レポート] > [実行レコード] を選択します。
- [実行ログ] ウィンドウで、表示する時間範囲とその他のフィルター条件を選択し、[実行] をクリックします。
2. システム ビューの使用:
-
SQL Server Management Studio (SSMS) で [新しいクエリ] ウィンドウを開きます。
-
次の SQL クエリを実行して、最近の実行レコードを表示します。
SELECT TOP 100 *
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
ORDER BY last_execution_time DESC;
- これにより、最新 100 件の実行レコードが最終実行時間の降順に並べ替えられて表示されます。必要に応じて、TOP 番号とソート順を変更できます。
- いくつかの主要な実行フィールドも表示されます。
SELECT TOP 100
qs.last_execution_time,
DB_NAME(st.dbid) AS database_name,
OBJECT_NAME(st.objectid, st.dbid) AS object_name,
SUBSTRING(st.text, (qs.statement_start_offset/2)+1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset)/2)+1) AS executed_sql
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
ORDER BY qs.last_execution_time DESC;
このクエリ ステートメントは、実行時間、クエリが配置されているデータベースの名前、オブジェクト名、実際に実行された SQL ステートメントを含む、実行された最新 100 件のクエリを返します。このうち、SUBSTRING関数はSQL文本文全体から実際の実行部分を抽出するために使用されます。