SQL Server/SQL Server 자주보는

[MSSQL] SP 마지막으로 실행한 시간 확인하기

꽁담 2020. 2. 10. 00:39

dm_exec_procedures_stats DMV 뷰


이 DMV 뷰를 통해서 마지막으로 실행한 SP 를 확인할 수 있습니다.


그러나 dm_exec_procedures_stats 동적뷰는 캐시된 저장 프로시저에 대한 통계를 반환하기 때문에

캐시에서 제거되면 해당 레코드가 동적뷰에서 제거되어 확인이 불가능 합니다.



캐시에서 제거되는 경우


다음과 같은 경우 캐시된 저장 프로시저가 캐시에서 제거될 수 있습니다.

  • 캐시를 채우면서 전체 절차를 단위 테스트 하는 경우
  • sp_configure 변경 (특정 옵션은 프로시저 캐시를 삭제하는 부작용이 있습니다.)
  • 큰 메모리를 필요로 하는 쿼리
  • DBCC FREEPROCCACHE 구문 수행
  • 명시적 재컴파일 또는 프로시저 삭제 및 재작성



SP 를 마지막으로 수행한 시간 확인하는 쿼리


1
2
3
4
5
6
7
8
9
10
11
SELECT 
       DB_NAME(s.database_ID),
       o.name, 
       s.last_execution_time,
       s.type_desc,
       s.execution_count
FROM sys.dm_exec_procedure_stats s 
INNER JOIN sys.objects o ON s.object_id = o.object_id 
WHERE 1 =1
  AND DB_NAME(s.database_ID) = 'master'  --Database Name
  AND o.name LIKE ('%%')  --Object Name
cs