SQL Server/SQL Server 자주보는
[MSSQL] TABLE 에 마지막으로 접근한 시간 확인하기
꽁담
2020. 2. 10. 00:50
dm_db_index_usage_stats DMV 뷰
이 DMV 뷰를 통해서 테이블에 마지막으로 접근한 시간을 확인할 수 있습니다.
뷰의 명칭만 보면 인덱스만 확인할 수 있는 것으로 착각할 수 있으나,
인덱스가 없는 테이블에도 적용이 가능합니다.
인덱스가 없는 테이블에 접근하는 경우 DMV 뷰의 last_user_scan 컬럼에 마지막 접근 시간이 UPDATE 됩니다.
TABLE 에 마지막으로 접근한 시간을 확인하는 쿼리
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | select DB_NAME(usage.database_id) AS db_name, schema_name, table_name, max(last_access) as last_access from( select sta.database_id as database_id, schema_name(schema_id) as schema_name, name as table_name, (select max(last_access) from (values(last_user_seek), (last_user_scan), (last_user_lookup), (last_user_update)) as tmp(last_access)) as last_access from sys.dm_db_index_usage_stats sta join sys.objects obj on obj.object_id = sta.object_id and obj.type = 'U' and sta.database_id = DB_ID() ) usage group by usage.database_id, schema_name, table_name order by last_access desc; | cs |