SQL 2008 R2: 데이터베이스를 복원한 사람을 확인하는 방법은 무엇입니까?

SQL 2008 R2: 데이터베이스를 복원한 사람을 확인하는 방법은 무엇입니까?

우리 데이터베이스가 최근에 복원되었습니다. 그것은 정말 큰 슬픔을 안겨주었습니다. 가장 최근에 복원을 실행한 사람을 확인하는 감사 메커니즘이 있습니까? 감사해요.

답변1

방금 복원을 테스트했는데 기본 추적에 기록된 것 같습니다. 이 쿼리가 어떤 점을 밝혀 주나요? (현재 실행 중인 추적 파일이 충분히 이전 상태로 돌아가지 않는 경우 이를 다소 조정해야 할 수도 있습니다. 폴더에서 조사할 *.trc 파일이 몇 개 더 있을 수 있습니다 log.)

declare @filepath nvarchar(1000)

SELECT @filepath = cast(value as nvarchar(1000)) FROM [fn_trace_getinfo](NULL)
WHERE [property] = 2 and traceid=1

print @filepath

SELECT * 
FROM [fn_trace_gettable](@filepath, DEFAULT)
WHERE TextData LIKE '%RESTORE DATABASE%'
ORDER BY StartTime DESC;

답변2

작업을 수행하고 이를 기록하는 타사 백업 소프트웨어가 없거나 SQL 프로파일러 추적을 실행하고 있지 않은 한 최선의 방법은 데이터베이스 소유자를 살펴보고 누구로부터 변경되지 않았는지 확인하는 것입니다. 복원했습니다. SQL은 누가 복원을 수행했는지 서버 로그에 기록하지 않으며 이벤트 로그에도 이를 보고하지 않습니다.

관련 정보