티스토리 뷰

반응형

부끄럽지만 실무에서 약 300 rows 정도의 데이터를 실수로 DELETE 한 적이 있습니다 (...)

중요도가 높은 데이터가 아니라서 백업된 데이터나 JOB도 없었지만, 사내 유저가 언제든 접근할 수 있는 화면에서 사용되는 데이터라 아찔했던 기억이 있습니다.


서치 결과, 아래 사이트에 있는 sp를 생성 후 실행하여 전부 복구하였습니다.

저는 300건 정도 실행했을 때, 약 10분 정도 소요되었던 것 같습니다. 

유용하게 사용한 후에, 같은 일이 또 벌어질까봐 이전 블로그에 메모했었던 내용을 가져왔습니다. (물론 이후엔 실수하지 않았습니다ㅜㅜ) 

참고하셔서 실수 만회하시길 바랍니다.


아래 방법은 MSSQL 2005 버전 이상에서 사용 가능합니다.



http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/ 



1. 위 사이트에 있는 Recover_Deleted_Data_Proc 프로시저를 해당 DB에 생성한다.



2. 해당 프로시저를 실행한다. (시간 소요됨)


EXEC Recover_Deleted_Data_Proc 'DB명','스키마.Table명'

또는

EXEC Recover_Deleted_Data_Proc 'DB명','스키마.Table명' ,’2012-09-12′,’2012-09-12′        (기간지정)


3. 데이터가 조회되면 엑셀 파일로 저장한다.


4. 해당 데이터를 원본 테이블에 밀어 넣는다.

 ex) 본인이 사용한 방법 : temp 테이블에 밀어넣고, 원본 테이블에 복제
INSERT INTO 원본테이블 Select * From 임시테이블



반응형

'개발 > SQL' 카테고리의 다른 글

[SQL] 인덱스(INDEX)  (0) 2019.01.03
댓글