테이블이 마지막으로 업데이트 된 시간 찾기


18

쿼리 :

SELECT 
    name AS TableName, 
    create_date AS CreatedDate, 
    modify_date as ModifyDate 
FROM sys.tables 
order by ModifyDate;

... DDL 관점에서 마지막으로 테이블을 만들고 수정 한 시간을 알려줍니다. 그러나 실제 데이터가 테이블에서 삽입되거나 제거 된 마지막 시간을 알고 싶습니다. SQL Server에서 이것을 얻을 수 있습니까?

답변:


24

당신은 아이디어를 얻을 수 있습니다

SELECT last_user_update
FROM   sys.dm_db_index_usage_stats us
       JOIN sys.tables t
         ON t.object_id = us.object_id
WHERE  database_id = db_id()
       AND t.object_id = object_id('dbo.YourTable') 

그러나 서비스를 다시 시작해도 데이터가 유지 되지 않고 요구 사항에 맞지 않을 수 있습니다 (예 : 실행 DELETE FROM T WHERE 1=0은 실제로 행이 삭제되지 않은 경우에도 시간이 업데이트 됨)


단일 테이블 대신 데이터베이스의 모든 테이블에 대해 한 번에 이것을 실행할 수있는 방법이 있습니까? 감사합니다
SQLBoy

3
@SQLBoySELECT last_user_update, t.name FROM sys.dm_db_index_usage_stats us JOIN sys.tables t ON t.object_id = us.object_id WHERE database_id = db_id()
Martin Smith

last_user_update 날짜도 고유 인덱스 위반 예외로 업데이트됩니다. 이 주위에 어떤 방법이 있습니까?
Алена Шлыкова
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.