[sql] 데이터베이스 저장소의 백업과 복원 방법

데이터베이스의 백업과 복원은 중요한 운영 관리 작업 중 하나입니다. 올바르게 백업 및 복원을 수행하여 데이터 손실을 방지하고 장애 상황에서 신속하게 복구할 수 있습니다.

백업 유형

전체 백업

전체 백업은 데이터베이스의 모든 내용을 백업하는 것으로, 데이터베이스가 큰 경우 오랜 시간이 소요될 수 있습니다. 그러나 전체 백업을 통해 데이터 손실을 최소화할 수 있습니다.

BACKUP DATABASE [DatabaseName] TO DISK = 'D:\Backup\DatabaseName.bak';

차등 백업

차등 백업은 이전 전체 백업 이후 변경된 데이터만을 백업합니다. 전체 백업에 비해 상대적으로 소요 시간이 짧으나, 복원 시 복잡할 수 있습니다.

BACKUP DATABASE [DatabaseName] TO DISK = 'D:\Backup\DatabaseName_diff.bak' WITH DIFFERENTIAL;

트랜잭션 로그 백업

트랜잭션 로그 백업은 트랜잭션 로그 파일을 정기적으로 백업하여 데이터 손실을 최소화합니다.

BACKUP LOG [DatabaseName] TO DISK = 'D:\Backup\DatabaseName_log.trn';

복원 작업

데이터베이스 복원

전체 백업으로 데이터베이스를 복원하는 방법입니다.

RESTORE DATABASE [DatabaseName] FROM DISK = 'D:\Backup\DatabaseName.bak' WITH REPLACE, RECOVERY;

차등 백업과 트랜잭션 로그 복원

차등 백업과 트랜잭션 로그 백업을 사용하여 데이터베이스를 최신 상태로 복원하는 방법입니다.

RESTORE DATABASE [DatabaseName] FROM DISK = 'D:\Backup\DatabaseName_diff.bak' WITH NORECOVERY;
RESTORE LOG [DatabaseName] FROM DISK = 'D:\Backup\DatabaseName_log.trn' WITH RECOVERY;

결론

데이터베이스의 백업과 복원은 시스템 안정성을 유지하는데 중요한 역할을 합니다. 주기적인 백업 및 테스트를 통해 안정적인 데이터 관리를 실천해야 합니다.

참고 문헌: