프로그래밍/DB

[DB] MSSQL 개체/테이블/인덱스 생성정보 확인방법(sys.objects)

ss-pro 2020. 12. 26. 11:19
반응형

데이터베이스의 개체들이 생성된 시점을 확인하고 싶은 경우가 있습니다.  sys.objects시스템테이블정보를 조회하면 관련정보를 확인할수 있습니다. 

1. 개체생성(저장프로시저,뷰,제약조건등) 

1
2
3
4
/* 개체 생성시간 (제약 조건, 기본값, 로그, 규칙, 저장 프로시저) */
SELECT *
FROM sys.objects
order by create_date desc

쿼리결과. create_date , modify_date로 해당개체의 생성일과 변경일을 확인할수 있습니다.

type필드정보 

타입정보는 아래와 같으며 해당부분을 where 조건으로하면 테이블,뷰,저장프로시저등의 만들어진시간을 확인할수 있습니다.  

2. 테이블 생성시간확인

1
2
3
4
5
/* 테이블 생성시간 */
SELECT *
FROM sys.objects
where type = 'U'
order by create_date desc

3. 인덱스생성시간확인
인덱스 최초생성시간은 확인할수 있는 방법은 없습니다.  혹시나 알고계신분은 댓글 남겨주시면 감사하겠습니다. 최초생성시간을 확인할수 없으나 가장 최근에 업데이트된시간은 STATS_DATE ( object_id , stats_id )을 사용해서 확인이 가능합니다.  STATS_DATE : 테이블 또는 인덱싱된 뷰의 통계에 대한 가장 최근의 업데이트 날짜를 반환합니다.

1
2
3
/* 최종업데이트시간확인 */
Select  STATS_DATE ( object_id , index_id ) indexDate , * 
From sys.indexes where object_id=object_id('Person.Address')

쿼리결과