sqlserverの過去の実行履歴をどうやって検索できますか?
SQL Serverの過去の実行履歴を検索するには、以下の方法を使用できます。
- sys.dm_exec_query_statsという動的管理ビューを使用すると、過去の実行クエリに関する情報、クエリテキスト、実行回数、平均実行時間などを提供します。実行時間、CPU時間、ロジカルリーダ等の基準でソートおよびフィルタリングができます。
SELECT
creation_time,
last_execution_time,
total_logical_reads,
total_elapsed_time,
execution_count,
st.text
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
- SQL Server Profilerを使用すると、SQL Serverのアクティビティを監視および分析できる強力なツールです。クエリの実行をキャプチャして履歴を確認するためにトレースセッションを設定できます。
- Extended Eventsを使用する:Extended EventsはSQL Serverのイベント処理プログラムであり、SQL Serverエンジンのアクティビティを捕捉して分析することができます。Extended Eventsを使用すると、クエリの実行を捕捉し、その履歴を確認するためのイベントセッションを作成することができます。
CREATE EVENT SESSION QueryHistory
ON SERVER
ADD EVENT sqlserver.sql_statement_completed
(
ACTION (sqlserver.sql_text)
)
ADD TARGET package0.event_file
(
SET filename = 'C:\Path\To\QueryHistory.xel'
)
WITH
(
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS
);
- 第三者のツールを使用する:SQL Serverの過去の実行履歴を調査するのに役立つ、SQL Server Management StudioやIdera SQL Diagnostic Managerなどの第三者のツールもあります。
どの方法を選んでも、ニーズに合わせて適切なクエリ方法を選択し、クエリ結果に基づいてさらなる分析を行うことができます。