프로필사진
김핑9
Ping9
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total

티스토리 뷰

MSSQL을 사용하다 실행했던 쿼리를 봐야할 일이 있어서 찾은 내용이다.

실제 어플리케이션 환경에서 조회해본 결과 약 5일 전까지 실행했던 쿼리만 조회가 되는 것 같다. (환경에 따라 다를 수 있음)

그리고 구글링해서 본 글들에서는 어플리케이션에서 실행된 쿼리는 안나오고 studio에서 실행한 것만 나온다는데 나는 왜 다 나오는지 모르겠지만... 알아서 잘 발라내서 사용 중.

실행했던 그대로 안나오고 where 절에 들어가는 변수 부분들은 @P0 처럼 가려져서 조회되는 경우도 있다.

아래 쿼리에서 where절 내에 있는 db_name, creation_time은 내가 조회하기 편하려고 넣은 부분이므로 필요 시에만 사용하면 될듯하다.

SELECT
	db_name(st.dbid) DBName
	, object_schema_name(objectid, st.dbid) SchemaName
	, object_name(objectid, st.dbid) SPName	-- 프로시저 이름
	, qs.total_elapsed_time -- 총 실행시간
	, creation_time
	, last_execution_time
	, text
FROM
	sys.dm_exec_query_stats qs
CROSS APPLY
	sys.dm_exec_sql_text(qs.plan_handle)st
JOIN
	sys.dm_exec_cached_plans cp
ON
	qs.plan_handle = cp.plan_handle
WHERE
	db_name(st.dbid) = 'DB명'
AND
	creation_time >= '날짜'
ORDER BY
	creation_time

해당 테이블에 대한 정보는 아래 문서 참고

https://docs.microsoft.com/ko-kr/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-query-stats-transact-sql?view=sql-server-ver16

반응형
댓글