SQL Server에서 실행했던 쿼리 이력을 확인 하고 싶은 경우가 있습니다.
에러 조사를 위해서라던가 성능 향상을 위해 쿼리를 확인 해야 하는등 여러 경우가 발생 합니다.
쿼리 이력을 확인 하는 방법을 바로 알아보겠니다.
아래는 SQL Server에서 실행했던 쿼리 이력을 확인하는 쿼리문 입니다.
SQL Server 쿼리 이력 확인
SELECT TOP 1000
QS.creation_time,
--SQL
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 statement_text,
--실행한 SQL
ST.text,
--실행 계획
QS.total_worker_time,
QS.last_worker_time,
QS.max_worker_time,
QS.min_worker_time
FROM
sys.dm_exec_query_stats QS
--키워드
CROSS APPLY
sys.dm_exec_sql_text(QS.sql_handle) ST
ORDER BY
QS.creation_time DESC
SELECT에서 TOP 1000을 하고 있기 때문에 최근 실행한 1000건만 취득 하고 있습니다.
더 많은 이력을 확인해야 하는 경우에는 TOP 1000을 삭제하고 실행하면 됩니다.
댓글