2009-05-22 5 views
6

내 SQL Server 2005 데이터베이스의 몇 가지 테이블에서 모든 데이터가 지워졌습니다. 어쨌든 지난 날에 실행 된 모든 명령문의 SQL Server 로그를 얻으려고합니까? 누군가 실수로이 작업을 수행했는지, 내 웹 앱에 취약점이 있는지 또는 실제 DB가 손상되었는지 확인하려고합니다.데이터베이스 보안은 어떻게 실패 했습니까?

+6

SQL 주입 문제가 없습니다. –

답변

2

다음을 보면 로그를 읽을 수있는 몇 가지 프로그램이 있습니다. Red Gate is called SQL Rescue에서

http://sqlserver2000.databases.aspfaq.com/how-do-i-recover-data-from-sql-server-s-log-files.html

한 와 꽤 좋아 보인다.

+0

실제로 트랜잭션 로그를 분리하여 데이터베이스에서 실행 된 내용을 확인할 수 있습니다. 그러나 이것들은 독점적이고 문서화되지 않은 파일 형식으로되어 있습니다.이 작업을 수행 할 수있는 도구가 있는지 살펴 보는 것이 좋습니다. 불행히도 권장 사항이 없습니다. –

+0

@Redbeard : 나는 틀렸고 나의 대답을 업데이트했다. 감사! – NotMe

2

당신은 내가 또한 자신의 일부 감사를 분류 할 Log Rescue

같은 로그 구조 도구를 시도 할 수 있습니다.

로그 구조 그래서 당신은 또한 시도 할 수 SQL 2005을 지원하지 않습니다 Apex SQL Log

+0

로그 구조에 대한 페이지는 SQL 2005 (OP가 사용하는 것)를 지원하지 않는다고 말합니다. –

1

이 실행 된 실제 문으로 트랜잭션 로그 백업을 변환 할 수를 구입할 수있는 응용 프로그램이 있습니다. 당신은 이들 중 일부의 시험 버전을 찾을 수있을 수 있습니다, 불행히도 나는 특정 하나를 추천 할 수 없습니다.

3

트랜잭션 로그을 찾고 있습니다. 그것이 어떻게 설정되었는지에 따라, 실행 된 것을 볼 수 있습니다. http://www.databasedesign-resource.com/sql-server-transaction-log.html에 대한 정보가 있습니다. 그것을 감안할 때, 나는 또한 당신이 구글 수있는 좋은 자원을 확신합니다.

+0

트랜잭션 로그에 대한 필자의 이해는 서버에 대해 실행되는 SQL 문의 텍스트를 저장하지 않고 각 거래에서 영향을받은 페이지의 위치 및 내용 이 로그는 포인트 인 타임 복구를 위해 트랜잭션을 롤 포워드하거나 롤백하는 데 유용하지만, 내가 아는 한 포렌식은 쓸모가 없다. –

+0

전문 용어 snafu라고 생각합니다. 예를 들어, MySQL은 트랜잭션 로그를 설명하는 로그를 호출합니다. MySQL의 "바이너리 로그"는 SQL Server의 "트랜잭션 로그"와 동일합니다. –

1

명심해야 할 점 : 해커가 테이블을 정리할 수있는 충분한 액세스 권한을 얻은 경우 로그 파일로도 액세스 할 수있는 충분한 기회가 주어집니다.

3

DBCC LOG (database, 3) 명령을 실행 해 볼 수도 있습니다. 트랜잭션 로그에있는 데이터를 출력합니다.

1

SQL Server에서 트랜잭션 로그 백업 만들기 SQL Server 용 TOAD 평가판을 다운로드하여 Transactionlog 백업을 가져올 수 있습니다.

원하는 경우 DELETED 레코드의 INSERT 스크립트를 만들 수도 있습니다. 하지만 TOAD 시험 버전에 제한이 있는지는 잘 모릅니다.

관련 문제