데이터베이스

Total 205
Today 0
profile_image
슈퍼아이피
18-01-24 10:29 0개 615회
MSSQL
MSSQL 시점 복구

**시점 복구 테스트



1) 전체 백업

ackup database hrdb2

   to disk = 'F:\SQLBackup\HRDB2.bak'

  with init -- 동일 파일 존재시 삭제


2) 데이터 변경

UPDATE Employee

SET Salary = Salary * 10

where DeptID = 'SYS'

GO


3) 로그 백업

backup LOG hrdb2

   to disk = 'F:\SQLBackup\HRDB2_LOG_01.trn'

GO


4) 데이터 변경

UPDATE Employee

SET EmpName = N'홍현빈'

where EmpID = 'S0001'

GO


5) 사고 발생 !!


select getdate() - 2018-01-24 10:09:13.110  --날짜 와 시간을 찍어줌

-> MSSQL 2008 부터 나옴

select sysdatetime() - 2018-01-24 10:10:12.4263555 -- 소스점 7자리까지 찍어줌

select sysdatetimeoffset() - 2018-01-24 10:10:55.6757819 +09:00  -- 국제 표준시간으로 찍어줌


delete vacation   --데이터 삭제

go



6) 로그 백업

backup LOG hrdb2

   to disk = 'F:\SQLBackup\HRDB2_LOG_02.trn'

GO



복구 시 시간을 위 2018-01-24 10:09 로 복구 한다.

9a9ee8d662bbcb89b864227963065eff_1516757335_9775.png
 



5) 복원한 테이블의 데이터를 원본 테이블에 복사해 넣는다. 

SET IDENTITY_INSERT Vacation ON -- 자동 증가 하는 값을 입력할수 있게 변경

GO


insert into Vacation(VacationID, EmpID, BeginDate, EndDate, Reason)

  select VacationID, EmpID, BeginDate, EndDate, Reason

  from hrdb2_test.dbo.Vacation

go


SET IDENTITY_INSERT Vacation OFF 

GO



추천 0 비추천 0

댓글목록

등록된 댓글이 없습니다.