특정테이블을 데이터를 날렸습니다. 어떻게 복구하나요? > db

본문 바로가기

db

특정테이블을 데이터를 날렸습니다. 어떻게 복구하나요?

작성일 06-11-02 10:44

페이지 정보

작성자서방님 조회 182회 댓글 0건

본문

ALTER DATABASE testdb SET RECOVERY full
-- 이라는 전제 하에서 설명 합니다.
backup database testdb to disk = 'c:testdb.bak' with noinit
-- 이런 파일도 있다고 생각 하겠습니다.
-- 이제부터 사고 치겠습니다.

select count(*) from dbo.tbl_idxTemp
-- 99개 있음

select getdate()
-- 현재시간 2005-09-03 15:54:14.030
delete from dbo.tbl_idxTemp
-- 옷~~~~ -_- 조때심~
select * from dbo.tbl_idxTemp
-- 한마리도 없습니다. ㅠ.ㅠ 죽었습니다. 땀 납니다.

-- 로그를 백업 합니다.
BACKUP LOG testdb TO DISK='c:testdblog' WITH NO_TRUNCATE, INIT

-- 리스토어 할때 다른 디비로 리스토어 합니다.
-- 사표 쓰기 싫으면 정신 바짝 차립니다.
-- sp_helpdb testdb

-- 복구정보 확인 합니다.
-- C:Program FilesMicrosoft SQL ServerMSSQLdatatestdb.mdf
-- C:Program FilesMicrosoft SQL ServerMSSQLdatatestdb_log.LDF

 

RESTORE FILELISTONLY FROM DISK = 'c:testdb.bak'

에서 LogicalName 을 확인합니다. -_-; 이렇게 하면 원래의 백업 이름을 알 수 있습니다.
LogicalName

-------------

testdb

testdb_log

 

 

 


RESTORE DATABASE testdb_fail
FROM DISK='c:testdb.bak'
with norecovery
, move 'testdb' to 'c:c.mdf'
,move 'testdb_log' to 'c:c.ldf'
,replace


RESTORE LOG testdb_fail FROM DISK='c:testdblog'
WITH STOPAT=' 2005-09-03 15:54:14.030', RECOVERY


use testdb_fail

go
select count(*) from dbo.tbl_idxTemp
-- 옷 살아 있습니다.
-- -----------
-- 99

-- 사표 안써도 됩니다. ㅠ.ㅠ

 

이제부터는 땀좀 식히고 이걸 원본 디비로 밀어 넣으시면 되겠습니다. 관계 설정도 다시 해주시고요~

출처 : sqler.pe.kr

댓글목록

등록된 댓글이 없습니다.

게시물 검색
Copyright © 서방님.kr All rights reserved.
PC 버전으로 보기