본문 바로가기

Database/Microsoft SQL Server

시점복원 / 로그체인

   

풀 백업을 받고 그 다음에 트랜잭션 로그 백업을 받게 되면 이전 트랜잭션 로그 백업과의 로그체인이 끊어질까?라는 의문에서 아래와 같이 테스트를 해 보았습니다.

   

/* 테스트 시나리오 */

각각의 스텝을 시간 차를 두어 실행합니다. 문제가 있다는 가정하에 7번 스텝 바로 이전의 시점으로 돌아가려고 합니다.

   

  1. 데이터 입력
  2. 풀 백업
  3. 데이터 입력
  4. 데이터 입력
  5. 트랜잭션 로그 백업
  6. 데이터 입력
  7. 풀 백업
  8. 데이터 입력
  9. 트랜잭션 로그 백업

   

/* 테스트 전 사전 준비 SCRIPT */

CREATE DATABASE BED

GO

   

USE BED

GO

   

CREATE TABLE TBL1 (A INT)

GO

   

INSERT INTO TBL1 VALUES(1)

GO

   

--1차 FULLBACKUP

BACKUP DATABASE BED TO DISK = 'C:\TEST\FULL1.BAK'

GO

   

INSERT INTO TBL1 VALUES(2)

GO

   

INSERT INTO TBL1 VALUES(3)

GO

   

--1차 트랜잭션 로그 백업

BACKUP LOG BED TO DISK = 'C:\TEST\TRN1.BAK'

GO

   

   

INSERT INTO TBL1 VALUES (4)

GO

   

SELECT * FROM TBL1

GO

   

--2차 트랜잭션 로그 백업

BACKUP LOG BED TO DISK = 'C:\TEST\TRN2.BAK'

GO

   

INSERT INTO TBL1 VALUES (5)

GO

   

--2차 FULLBACKUP

BACKUP DATABASE BED TO DISK = 'C:\TEST\FULL2.BAK'

GO

   

INSERT INTO TBL1 VALUES (6)

GO

   

--3차 트랜잭션 로그 백업

BACKUP LOG BED TO DISK = 'C:\TEST\TRN3.BAK'

GO

   

/* 복원 시나리오 SCRIPT */

RESTORE DATABASE BED FROM DISK = 'C:\TEST\FULL1.BAK' WITH NORECOVERY

GO

   

RESTORE LOG BED FROM DISK = 'C:\TEST\TRN1.BAK' WITH NORECOVERY

GO

   

RESTORE LOG BED FROM DISK = 'C:\TEST\TRN2.BAK' WITH NORECOVERY

GO

   

RESTORE LOG BED FROM DISK = 'C:\TEST\TRN3.BAK' WITH STOPAT = '2015-03-13 10:19:14.000', RECOVERY

GO

   

/* BACKUP 실행 HISTORY 확인 QUERY */

SELECT DATABASE_NAME, TYPE, BACKUP_SIZE, RECOVERY_MODEL, first_lsn,last_lsn, backup_start_date,

backup_finish_date FROM MSDB.DBO.backupset

   

실행 결과 값

=>풀 백업 이후 트랜잭션 로그 백업의 LSN의 값과 풀 백업 이전의 트랜잭션 로그 백업의 LSN값이 동일합니다.

이러한 결과 값으로 보아 풀 백업을 하더라도 로그 체인이 끊기지 않기 때문에 로그 백업만 잘 되어 있다라는 가정하에 특정 시점의 복원이 가능합니다.

   

결론 트랜잭션 로그 체인이 정상, 연결되어 있다는 가정하에 트랜잭션 로그 파일을 보관하고 있다면 원하는 시점으로 복원이 가능합니다.

   

   

'Database > Microsoft SQL Server' 카테고리의 다른 글

로그인 감사 설정 변경  (0) 2015.05.18
Pssdiag 수집 방법  (0) 2015.03.13
SQL Server Native Client  (0) 2014.09.30
파일을 이용한 백업 및 복원  (0) 2014.09.14
패스워드 분실 / 로그인 불가  (0) 2014.08.25