두 개의 서로 다른 .BAK 파일 (야간 백업 파일이 다릅니다)을 사용하여 두 개의 데이터베이스를 복원했습니다..TRN 파일 데이터를 읽는 방법?
최근 복원 된 .BAK에서 사라진 데이터 행이 있습니다.
이유를 알아야합니다.
.TRN 데이터를 읽고 읽음으로써 어떤 사용자 작업으로 인해 문제가 발생했는지 확인할 수있는 방법이 있습니까?
두 개의 서로 다른 .BAK 파일 (야간 백업 파일이 다릅니다)을 사용하여 두 개의 데이터베이스를 복원했습니다..TRN 파일 데이터를 읽는 방법?
최근 복원 된 .BAK에서 사라진 데이터 행이 있습니다.
이유를 알아야합니다.
.TRN 데이터를 읽고 읽음으로써 어떤 사용자 작업으로 인해 문제가 발생했는지 확인할 수있는 방법이 있습니까?
폴 랜달은 find out who dropped a table using the transaction log에 문서화되지 않은 기능을 사용하여 작성, 당신은 동일한 개념을 사용할 수 있습니다.
그의 게시물에서 그는 삭제 된 테이블을 찾고 있었기 때문에 로컬 시스템에서이 테이블을 재생하여 테이블에서 레코드를 삭제하기 위해 WHERE [Tranaction Name] = 'DELETE'
으로 필터링 할 것을 발견했습니다.
그래서이 쿼리 :
SELECT [Current LSN], [Begin Time], SPID, [Database Name], [Transaction Begin], [Transaction ID], [Transaction Name], [Transaction SID], Context, Operation
FROM ::fn_dblog (null, null)
WHERE [Transaction Name] = 'DELETE'
GO
반환 값이 출력
Current LSN Begin Time SPID Database Name Transaction Begin Transaction ID Transaction Name Transaction SID Context Operation
00000474:00000239:0001 2012/03/06 10:09:19:547 58 NULL NULL 0001:000a67be DELETE 0x010500000000000515000000628ADB6E31CC6098F269B2B9F8060000 LCX_NULL LOP_BEGIN_XACT
http://stackoverflow.com/questions/4507509/how-to-view-transaction-logs-in-sql- 서버 2008 – Marc