티스토리 뷰
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
해당 테이블에 대한 정보는 아래 문서 참고
반응형
'공부 > Database' 카테고리의 다른 글
[PostgreSQL] table, column, column 속성, description 정보 select 하기 (0) | 2018.04.18 |
---|---|
[MySQL/Oracle] max, min 값을 가진 row select 하기 (5) | 2018.01.22 |
댓글