-
MSSQL 복구 모델(Full, Simple)과 MDF 백업 방법카테고리 없음 2025. 2. 10. 22:40
MSSQL 복구 모델(Full, Simple)과 MDF 백업 방법
MSSQL 데이터베이스는 장애 발생 시 복구를 위해 다양한 복구 모델(Recovery Model)을 제공합니다. 대표적인 복구 모델인 FULL과 SIMPLE을 비교하고, 데이터 파일(MDF)을 백업하는 방법을 설명합니다.
1. MSSQL 복구 모델이란?
MSSQL의 복구 모델은 데이터베이스의 트랜잭션 로그 저장 및 복구 방식을 결정합니다. 주로 FULL, SIMPLE, BULK-LOGGED 세 가지가 있으며, 이 글에서는 FULL과 SIMPLE 복구 모델을 집중적으로 설명합니다.
2. MSSQL FULL 복구 모델
2.1 개념
FULL 복구 모델은 모든 트랜잭션을 로그 파일(LDF)에 기록하며, 백업을 활용하여 특정 시점(Point-in-time) 복구가 가능합니다. 장애 발생 시에도 데이터를 최대한 보호할 수 있어 기업 환경에서 가장 많이 사용됩니다.
2.2 특징
- 모든 트랜잭션 로그를 저장하여 장애 발생 시 복구 가능
- 정기적인 트랜잭션 로그 백업이 필요
- 데이터베이스 크기가 커질 가능성이 있음 (LDF 파일 증가)
2.3 FULL 복구 모델 설정 방법
ALTER DATABASE 데이터베이스명 SET RECOVERY FULL;
2.4 권장 사용 환경
- 트랜잭션 로그 백업을 통해 최대한의 데이터 보호가 필요한 경우
- 은행, 병원 등 실시간 데이터 무결성이 중요한 시스템
- 로그 기반 복구(Point-in-time Recovery)가 필요한 환경
3. MSSQL SIMPLE 복구 모델
3.1 개념
SIMPLE 복구 모델은 트랜잭션 로그를 최소한만 저장하고, 자동으로 삭제하여 디스크 공간을 절약합니다. 로그 백업이 필요하지 않으며, 장애 발생 시 최근 백업 이후의 데이터는 복구할 수 없습니다.
3.2 특징
- 트랜잭션 로그가 자동으로 정리됨
- 백업 크기가 작아지고 관리가 단순함
- 장애 발생 시 특정 시점 복구 불가
3.3 SIMPLE 복구 모델 설정 방법
ALTER DATABASE 데이터베이스명 SET RECOVERY SIMPLE;
3.4 권장 사용 환경
- 데이터 손실이 치명적이지 않은 환경 (테스트 서버, 개발 환경)
- 주기적인 전체 백업만 수행하는 경우
- 디스크 공간 절약이 중요한 경우
4. MDF 파일 백업 방법
MDF(Main Database File)는 데이터베이스의 실제 데이터를 저장하는 파일입니다. MDF 파일만 직접 복사하여 백업하는 것은 권장되지 않으며, MSSQL에서 제공하는 정상적인 백업 방법을 사용해야 합니다.
4.1 T-SQL을 이용한 백업
가장 일반적인 방식은 T-SQL을 사용하여 백업하는 것입니다.
-- 전체 데이터베이스 백업 BACKUP DATABASE 데이터베이스명 TO DISK = 'C:\backup\데이터베이스명.bak' WITH FORMAT, INIT, NAME = 'Full Backup'; GO
4.2 SSMS를 이용한 백업
- SQL Server Management Studio(SSMS)를 실행
- 백업할 데이터베이스 선택 후, 마우스 우클릭 > 태스크 > 백업 선택
- 백업 유형을 전체(Full)로 선택
- 백업 위치 지정 후 "확인" 클릭
4.3 MDF 파일을 직접 복사하여 백업하는 방법 (비권장)
MDF 파일을 직접 복사하여 백업할 수도 있지만, 이 방법은 데이터 무결성이 보장되지 않으므로 권장되지 않습니다. 그래도 수행해야 한다면, 다음 절차를 따라야 합니다.
-- 1. 데이터베이스를 오프라인으로 변경 ALTER DATABASE 데이터베이스명 SET OFFLINE; GO -- 2. MDF 및 LDF 파일을 복사하여 백업 COPY C:\MSSQL\DATA\데이터베이스명.mdf D:\Backup\데이터베이스명.mdf COPY C:\MSSQL\DATA\데이터베이스명.ldf D:\Backup\데이터베이스명.ldf -- 3. 데이터베이스를 다시 온라인으로 변경 ALTER DATABASE 데이터베이스명 SET ONLINE; GO
※ 주의: MDF 파일을 직접 백업하는 경우, 데이터베이스를 종료해야 하며, 복구 과정에서 문제가 발생할 가능성이 큽니다.
5. 결론
MSSQL의 FULL 복구 모델은 데이터 보호가 최우선인 경우 적합하며, SIMPLE 복구 모델은 백업이 간단하고 관리가 쉬운 환경에서 유용합니다. 데이터베이스 백업 시에는 정식 BACKUP DATABASE 명령을 사용하는 것이 가장 안전한 방법이며, MDF 파일을 직접 복사하는 방식은 지양해야 합니다.