Amazon RDS (Relational Database Service) for SQL Server는 관리형 관계형 데이터베이스 서비스로 SQL Server 자체 백업 기능을 통해 S3에 백업 복원할 수 있으며, 이 과정을 소개합니다.
사전 구성 조건
S3 버킷을 생성하고, S3버킷에 RDS가 접근할 수 있도록 옵션 그룹에 SQL_SERVER_BACKUP_RESTORE 옵션을 추가하고, 해당 그룹과 RDS 인스턴스를 연결합니다.
예) DB이름: testdb, S3 버킷 이름: test-dp01/backup
백업 쿼리 예시
아래 쿼리를 사용해서 testdb를 test-dp01 버킷의 backup 디렉터리에 백업을 합니다.
exec msdb.dbo.rds_backup_database
@source_db_name='testdb',
@s3_arn_to_backup_to='arn:aws:s3:::test-dp01/test-dp01_20231225_full.bak',
@overwrite_s3_backup_file=1,
@type='FULL';
백업 진행율과 백업 결과를 아래의 쿼리를 이용해서 확인이 가능합니다.
-- 작업 상태 확인/ 위 쿼리 실행 후 생성된 task_id를 이용해서 조회
exec msdb.dbo.rds_task_status @task_id=5;
복원 쿼리 예시
아래 쿼리를 사용해서 test-dp01/backup 버킷에 있는 test-dp01_20231225_full.bak 백업 파일을 이용해서 testdb 이름으로 복원합니다. 복원할 때는 기존에 같은 이름의 DB가 있을 경우 replace옵션을 사용하거나, 기존 DB를 삭제 후 진행합니다.
-- 필요시
-- drop database testdb
exec msdb.dbo.rds_restore_database
@restore_db_name='testdb',
@s3_arn_to_backup_from='arn:aws:s3:::test-dp01/test-dp01_20231225_full.bak',
복원 진행율과 복원 결과를 아래의 쿼리를 이용해서 확인이 가능합니다.
-- 작업 상태 확인/ 위 쿼리 실행 후 생성된 task_id를 이용해서 조회
exec msdb.dbo.rds_task_status @task_id=6;
작업이 끝난 후 SQL Server Management Studio(SSMS)에서 데이터베이스 부분을 Refresh하면 해당 데이터베이스가 복원된 것을 확인할 수 있습니다.
'Database > SQL Server' 카테고리의 다른 글
SQL Server 연결된서버 쿼리 오류 분석 방법 예시 (0) | 2024.04.12 |
---|---|
SQL Server 컬럼 암호화 방법 step by step (2) | 2024.04.12 |
SQL Server 프로시저 내 TEXT내용으로 검색 (0) | 2024.04.12 |
DBCC Shrinkfile (0) | 2024.04.12 |
SQL Server 기본 점검 쿼리 (0) | 2024.04.12 |