특정테이블을 데이터를 날렸습니다. 어떻게 복구하나요?
작성일 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
댓글목록
등록된 댓글이 없습니다.