MSSQL 쿼리 이력 조회

[서버관리] MSSQL 쿼리 이력 조회

MSSQL 쿼리이력

MSSQL 서버 관리를 하다보면 갑자기 서버 메모리가 오를때가 있다. 대체 어떤 쿼리가 메모리를 많이 잡아먹는거지? 누가 뭘 한거여.. 아침부터 짜증나게.. 범인을 잡을때 사용해보자

DM_EXEC_QUERY_STATS, DM_EXEC_SQL_TEXT 등 SQL 시스템 테이블을 활용해서 조회를 하게 되는데 완벽하진 않아도 참고할 정도는 되는것 같다. 


MSSQL 쿼리 이력 조회 방법


SELECT

  DB_NAME(su.dbid) DBName --DB명

, OBJECT_SCHEMA_NAME(su.objectid,su.dbid) SchemaName --스키마명

, OBJECT_NAME(su.objectid,su.dbid) SPName --SP이름

, sq.total_elapsed_time/1000000 --[실행완료하는데 소요된 총 경과시간(마이크로초) => 초 변환

, sq.creation_time -- 쿼리가 시작한 시간

, sq.last_execution_time --쿼리가 마지막으로 실행된 시간

, su.text --쿼리  TEXT

FROM

SYS.DM_EXEC_QUERY_STATS sq

CROSS aPPLY SYS.dm_exec_sql_text(sq.PLAN_HANDLE)su

JOIN SYS.dm_exec_cached_plans sp ON sq.plan_handle = sp.plan_handle

ORDER BY creation_time DESC -- 쿼리가 시작한 시간 정렬


조회 결과

MSSQL 쿼리 이력 조회 결과

위와 같이 잘 조회가 된다. 휘발성이라 방금 조회했던게 날아가서 한참 찾았다.. 맹신하진 말고 당장 왜그러지? 할때 찾으면 된다.

정확한 이력을 찾기 위해선 SQL 프로파일러를 사용하는게 맞다..





댓글

이 블로그의 인기 게시물

tapo c210 해킹? 혼자서 움직일때 확인 방법 (가정용 CCTV)

국민은행 줄 안서고 대기표 뽑는 방법 (어플로 번호표 뽑기)

2023년 추석연휴 행사, 휴무 안내 (수원)