반응형
MSSQL Database의 복구 모델은 트랜잭션 로그 관리 방식을 제어하는 속성으로 매우 중요해서 설명하려고 합니다.
Database 복구 모델 이란?
- 복구 모델 이란 트랜잭션 로그를 어떻게 처리할지에 대한 결정입니다.
- 단순 복구 모델(Simple Recovery Model)을 사용하면 트랜잭션 로그 백업하지 않습니다.
- 전체 복구 모델(Full Recovery Model)을 사용하면 트랜잭션을 로그에 기록하고, 트랜잭션 로그 백업이 필요합니다.
- 결론적으로 MSSQL Database의 백업 및 복원 전략을 계획할 때 가장 중요한 사항입니다.
- Database의 문제가 발생하면 어느 시점까지 복원할지 결정을 한 후 복구 모델을 결정하면 됩니다.
Database 복구 모델 종류
단순 복구 모델 (Simple Recovery Model)
- 전체 백업을 받은 시점까지만 복원할 수 있습니다.
- 왜냐하면 트랜잭션 로그 백업을 하지 않기 때문입니다.
- 즉, 특정 시점 복구가 불가능하며, 가장 최근 백업 이후의 데이터는 복원 불가합니다.
- 장점은 로그 공간을 자동으로 회수하여 관리가 간편하고 디스크 공간을 절약할 수 있습니다.
전체 복구 모델 (Full Recovery Model)
- 전체 복구 모델을 결정했다면 로그 백업이 필요합니다.
- 즉, 모든 시점으로 복원할 수 있으므로 Data 손실이 발생하지 않습니다.
- 주기적으로 트랜잭션 로그 백업 작업을 해야 합니다.
- 사용량이 많으면 로그 공간 사용량이 많아질 수 있습니다.
대량 로그 복구 모델 (Bulk-Logged Recovery Model)
- 일반적으로 사용하지 않지만, 인덱스 작업을 하거나 대량의 Data를 로드 시 사용합니다.
- 대량 작업 시 최소 로깅을 사용하여 트랜잭션 로그 공간 사용량을 줄입니다.
- 대량 로그 복구 모델은 트랜잭션 로그 백업이 필요하며, 특정 시점 복구는 지원되지 않는 단점이 있습니다.
Database 복구 모델 선택
- Database 복구 모델은 단순 복구 모델, 전체 복구 모델 중에서 선택해야 합니다.
- 선택 기준은 문제 발생 시 어느 시점까지 복원할지 생각하면 결정할 수 있습니다.
반응형