본문 바로가기
DATABASE/MsSQL

[MsSQL] Database Backup이란? - Full / Differential / Log Backup

by DANEW 2024. 2. 24.

Backup

백업이란, 데이터베이스 또는 해당 트랜잭션 로그의 데이터 또는 로그 레코드를 다른 디바이스 등에 복사하여 두는 것이다.

데이터베이스 백업하고 해당 백업파일을 안전한 저장공간에 보관하고 있는 것이 치명적인 데이터 손실로부터 데이터를 유일하게 보호 할 수 있는 수단이다.

 

MsSQL에서는 Database 혹은 Data File단위의 백업만 가능하다. 

즉, 테이블 단위의 백업은 불가하다.

 

MsSQL의 데이터베이스 백업에는 크게 아래와 같은 3가지가 있다.

전체 백업 - Full Backup 

차등 백업 - Differential Backup

트랜잭션 로그 백업 - Transaction Log Backup

 

Full Backup (전체 데이터베이스 백업)

MsSQL의 데이터베이스 백업하는 방법 중 해당 데이터베이스의 데이터를 온전히 백업하는 방법이다.

데이터베이스를 온전히 한벌 백업하는 작업으로 많은 용량과 시간이 필요하다.

백업 파일의 데이터는 전체 백업이 끝나는 시점의 데이터베이스의 상태이다.

 

모든 데이터베이스 백업 종류의 기준이 되는 백업이다.

 

Differential Backup (차등 데이터베이스 백업)

전체 백업을 받은 후 그 전체 백업 파일을 기반으로 변경 된 데이터만 백업하는 방법이다.

차등 백업의 기반이되는 전체 백업을 차등기반이라고 하며, 차등기반에 대해 변경된 데이터만 백업하는 방식이다.

 

전체 백업을 받고, 그 백업의 변경만 백업하는 차등 백업은 데이터 백업 소요시간을 간소하게 해주는 이점이있다.

하지만 복구 시에는 전체 백업과 차등 백업 두개의 파일이 필요하므로 복구 단계가 늘어난다는 단점이 있다.

전체 백업 후, 오랜시간 차등 백업만 받을 경우 차등 백업이 전체 백업의 크기를 넘어서는 상황이 있을 수 있다.

 

Transaction Log Backup (트랜잭션 로그 백업)

트랜잭션 로그 백업은 전체 데이터베이스 백업을 기준으로 그 후에 발생한 트랜잭션 로그를 백업하는 방법이다.

 

데이터베이스의 복구 모델이 전체 복구 모델로 설정되어 트랜잭션 로그가 기록되어 있어야 백업이 가능하며,  ldf 파일의 트랜잭션 로그를 백업하여 ldf 파일에 쌓여있는 트랜잭션 로그를 비울 수 있다.

전체 데이터베이스 백업을 기준으로 복구를 원하는 시점까지의 모든 트랜잭션 로그 백업 파일을 가지고 있어야하며, 특정 시점으로 복구가 가능하다.

 

Reference

MsSQL Backup 개요

반응형