SQL Server 2005에서 삭제 작업을 취소하는 방법은 무엇입니까?
-
03-07-2019 - |
문제
우리의 테스트 DB는 갑자기 행이 누락되었습니다. 우리는 그들을 다시 원합니다.
오늘날 데이터베이스에 일어난 모든 일을 살펴볼 수있는 방법이 있습니까? 각 SQL 문? 나는 이런 종류의 물건이 트랜잭션 로그에 있다고 가정하지만, 어떻게 볼 수 있는지 잘 모르겠습니다.
삭제 작업을 취소하는 방법이 있습니까?
BTW : 예, 우리는 백업이 있지만 삭제의 원인도 찾는 것을 선호합니다 ...
다른 팁
늦은 답변이지만 희망적으로 유용합니다
트랜잭션 로그를 사용하여 삭제 된 행을 복구 할 수있는 방법이 있지만 타사 도구를 사용하고 데이터베이스 만 완전 복구 모드에있는 경우에만 가능합니다.
Dell (이전 퀘스트)은 있습니다 SQL Server 용 두꺼비 그리고 Apexsql은 있습니다 ApexSQL 로그 그리고 ApexSQL 복구 T-Log 및 복구 데이터도 읽을 수도 있습니다. 불행히도 Red Gate의 Log Rescue는 SQL Server 2000의 로그 만 읽을 수 있습니다.
문서화되지 않은 DBCC 로그 명령을 사용하여 T-Log를 읽는 방법도 있습니다. 자세한 내용보기 여기.
이미 데이터베이스 백업이 있다는 점을 고려하면이를 별도의 데이터베이스로 복원 한 다음 시장에 존재하는 많은 데이터 비교 도구 중 하나를 사용하여 누락 된 데이터를 생산 데이터베이스에 삽입 할 수 있습니다. 물론 이것은 백업을 생성하기 전에 데이터 삭제 만 복구 할 수 있습니다.
이를 위해서는 타사 도구가 필요합니다. 이 도구는 트랜잭션 로그로 들어가서 로그 항목을 볼 수 있어야 했으므로 무슨 일이 있었는지 확인할 수 있어야합니다. 이 도구를 사용하지는 않았지만 스타터를위한 Red Gate의 SQL 로그 구조를 시도해 볼 것입니다. 시도 해봐:
나는 Red Gate를 지불하기보다는 무료 버전을 가진 ChronicDB를 시도 할 것입니다.
사용하여 트랜잭션을 취소 할 수 있습니다 Rollback
SQL Server의 명령. 그러나 거래가 내에서 수행되면 거래가 롤백 될 수 있다는 것을 알아야합니다. Begin
거래.