2010-08-22 4 views
20

잘못된 WHERE 절이있는 테이블에 대해 DELETE 명령을 우연히 실행했습니다.SQL 서버 테이블에서 삭제 된 행을 복구하는 방법은 무엇입니까?

나는 SQL 서버 2005

나 손실 된 데이터를 복구 할 수있는 방법이 있나요를 사용하고?

+0

복원 할 수있는 백업이없는 경우 문제가 있다고 생각합니다! – InSane

+0

감사합니다. 나는 그것을 필요로했다. 난 혼자가 아니에요. (누군가가 당신이 회복 할 수있는 방법을 생각해 내길 바란다.) – slashmais

+2

제 3 자 도구가 분명히 있다고 생각합니다 - http://apex-sql-log.apex-sql-llc.qarchive.org/ 또는 Red Gate 's SQL 로그 구조 http://www.red-gate.com/products/SQL_Log_Rescue/가 작동 할 수도 있습니다 -하지만 이들은 모두 상업용 유료 제품입니다 – InSane

답변

4

사라진 것은 사라졌습니다. 내가 아는 유일한 보호는 정기적 인 백업입니다.

+1

아마도 완전히 정확하지는 않지만 DELETE 명령을 실행하기 전에 * 고려해야 할 유용한 지침입니다. – stakx

8

전체 데이터 + 트랜잭션 로그 백업이 있습니까? 백업에서 다른 데이터베이스로 복원 한 다음 삭제 된 행을 다시 동기화 할 수 있습니다. 하지만 작품의 많은 ...

는 (? 당신이 Redgate's SQL Log Rescue업데이트 살펴 보았다 : 그것은 SQL 서버 2000 전용입니다) 미안, 그게 불가능을 생각

Log Explorer

5

있습니다.

이유는 삭제 또는 업데이트를 실행할 때 항상 BEGIN TRANSACTION을 사용해야하고, 그렇지 않으면 COMMIT을 사용하고 그렇지 않으면 ROLLBACK을 사용해야합니다.

+0

나를위한 @Rev. [잘됐다] (http : // stackoverflow. com/a/8226315/1306394). – shashwat

관련 문제