본문 바로가기
DATABASE/MsSQL

[MsSQL] Database 복구 모델 - Simple, Full (단순 모델, 전체 모델)

by DANEW 2023. 10. 16.

Database Recovery Models

MsSQL의 데이터베이스 복구 모델은 데이터베이스의 트랜잭션 로그의 유지관리를 제어하는 중요한 속성이다.

 

단순 모델(Simple), 전체 모델(Full) 이냐에 따라 아래와 같은 내용을 제어할 수 있다.

  • 트랜잭션이 기록되는 방법
  • 트랜잭션 로그의 백업이 필요하며, 허용되는지 여부
  • 데이터베이스 복원 시 작업의 종류 (트랜잭션 로그 백업의 사용)

Simple Recovery Model

단순 모델은 말 그대로 단순한 복구 모델이다.

 

단순 모델의 가장 핵심은 트랜잭션 로그를 저장하고 있지 않다는 점이다.

정확히는 검사점(Check Point)이 발생 할 때 마다 트랜잭션 로그를 비워주어 로그 공간을 자동으로 회수한다.

자동으로 회수되는 로그 공간으로 인해, 트랜잭션 로그 공간을 관리 할 필요가 없다.

 

다시 풀어서 이야기해 보자면 ,

1. 트랜잭션 로그를 저장하고 있지 않는다.

2. 트랜잭션 로그 백업을 받을 수가 없다.

3. 전체 백업(혹은 차등 백업) 이 후 데이터에 대해서는 복구 할 수 없다.

 

이렇게 정리할 수 있다.

복구 개요

단순 복구모델은 전체백업 혹은 차등백업 이후의 데이터에 대해서는 복구가 불가능하다.

전체 혹은 차등 백업의 파일의 시점으로만 복구가 가능하며, 전체 데이터베이스의 특정 시점으로의 복구는 불가능하다.

 

전체 데이터베이스 백업만 있을 경우, 제일 최근의 전체 데이터베이스의 시점까지 복구 할 수 있다.

전체 백업이 이루어진 t1, t2, t3의 시점으로 복구가 가능하며, 

최종적으로 전체 백업이 이루어진 t3의 데이터가 제일 최신 데이터가 될 것이다.

차등 백업이 이루어진 경우, 해당 차등백업의 선행 전체 데이터베이스를 복구 후 차등백업을 복구하는 정도의 차이가 있다.

반응형

Full Recovery Model

전체 모델, 간단히 설명하자면 모든 데이터를 복구 할 수 있는 모델이다.

전체 모델은 단순 모델과 달리 트랜잭션 로그에 대한 저장을 하고있다.

따라서 데이터베이스의 트랜잭션 로그 공간에 대한 관리가 필요하며, 트랜잭션 로그 백업을 필수적으로 받아야 한다.

 

다시 정리해보자면,

1. 모든 트랜잭션 로그를 저장한다.

2. 트랜잭션 로그의 저장공간에 대한 관리가 필요하다.

3. 트랜잭션 로그 백업을 진행하며, 트랜잭션 로그 백업을 통한 특정 시점의 복구가 가능하다.

 

복구 개요

전체 모델은 장애시점까지의 모든 데이터에 대해 복구가 가능하다는 장점이 있다.

 

전체 백업, 차등 백업을 이용하여 특정 시점까지 복구를 한 후,

해당 트랜잭션 파일의 백업을 통해 원하는 시점의 데이터베이스로 복구가 가능하다.

위의 도식은 전체 데이터베이스 복구 (t1) -> 차등 데이터베이스 복구(t2) -> 트랜잭션 로그 복구(t7~t10)의 과정을 설명하고있다.

 

또한, (1) 의 시점에 장애가 발생 한 후 (2)의 비상로그 백업이 생성되며, 장애 발생까지의 데이터베이스를 원하는 시점으로 복구 할 수 있게 된다.

 

Related Posts

 

SQL Server - 복구 모델

SQL Server - 단순 복구 모델 개요

SQL Server - 전체 복구 모델 개요

 

반응형