SQL Server를 실행하는 Amazon RDS DB 인스턴스의 기본 백업을 수행하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2022년 2월 28일

SQL Server를 실행하는 Amazon Relational Database Service(Amazon RDS) DB 인스턴스에 있는 사용자 데이터베이스의 기본 백업을 수행하려면 어떻게 해야 합니까? Amazon Simple Storage Service(Amazon S3)에 백업 파일을 저장하거나 데이터베이스 백업 파일을 사용하여 동일한 또는 다른 Amazon RDS for SQL Server DB 인스턴스를 복원해야 합니다. 어떻게 해야 합니까?

간략한 설명

Amazon RDS는 Microsoft SQL Server 데이터베이스의 기본 백업 및 복원을 지원합니다. 온프레미스 데이터베이스의 전체 백업을 생성하고 파일을 Amazon S3에 저장할 수 있습니다. 그런 다음 SQL Server를 실행하는 기존 Amazon RDS DB 인스턴스로 백업 파일을 복원할 수 있습니다. 또한 이 백업 파일을 SQL Server를 실행하는 다른 Amazon RDS DB 인스턴스나 온프레미스 서버로 복원할 수 있습니다.

해결 방법

SQL Server 데이터베이스의 기본 백업을 설정하려면 다음 구성 요소가 필요합니다.

  1. Amazon RDS 콘솔을 열고 탐색 창에서 [Option Groups]를 선택합니다. [Create Group]을 선택하고 이름, 설명, 엔진 및 서버 엔진 버전을 입력합니다. 그리고 [Create]를 선택합니다.
  2. 생성한 옵션 그룹을 선택한 다음 [Add Option]을 선택합니다. [SQLSERVER_BACKUP_RESTORE]를 선택합니다. 새 IAM 역할을 생성하고 [Add Option]을 선택하여 IAM 역할이 필수 권한을 갖도록 하는 것이 가장 좋습니다. S3 버킷을 선택하거나 새 S3 버킷을 생성합니다. 그런 다음 [Apply Immediately]와 [Add Option]을 선택합니다.
  3. 탐색 창에서 [Databases]를 선택하여 옵션 그룹을 DB 인스턴스에 연결하고 백업할 인스턴스를 선택합니다. [Actions]를 선택하고 [Modify]를 선택합니다.
  4. [Database Options]에서 생성한 옵션 그룹을 선택하고 [Apply Immediately]와 [Continue]를 선택합니다. 정보를 검토한 후 [Modify DB Instance]를 선택합니다. 이 옵션 그룹 수정은 인스턴스를 재부팅할 필요가 없기 때문에 가동 중단 시간이 없습니다.
  5. 상태가 [modifying]에서 [available]로 변경되면 RDS 인스턴스의 마스터 사용자를 사용하여 SQL Server Management Studio를 통해 DB 인스턴스에 연결합니다. 그런 다음 [New Query]를 선택하고, 다음 SQL 문 중 하나를 입력하여 원하는 데이터베이스의 백업을 시작합니다.

암호화되지 않은 데이터베이스 백업 시작

exec msdb.dbo.rds_backup_database 
@source_db_name='database_name', @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension', 
@overwrite_S3_backup_file=1;

암호화된 데이터베이스 백업 시작

exec msdb.dbo.rds_backup_database 
@source_db_name='database_name', 
@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',   
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id', 
@overwrite_S3_backup_file=1;

참고: 이 예제에 나열된 database_name, bucket_name, file_name_and_extension, region, account-id, key-id를 시나리오에 맞게 바꾸십시오. S3 버킷에 생성된 백업 파일을 사용하여 사용자 데이터베이스를 새 RDS DB 인스턴스로 복원할 수 있습니다. rds_backup_database 또는 rds_restore_database 저장 프로시저를 호출하면 태스크가 시작되고 태스크에 대한 정보를 출력합니다.

태스크 수명 주기 상태가 [SUCCESS]가 되면 태스크가 완료된 것입니다. 그런 다음 Amazon S3 콘솔을 열고 생성한 사용자 데이터베이스 백업이 있는 버킷을 선택하고 백업 파일을 볼 수 있습니다. 이 파일을 다운로드하거나 사용자 데이터베이스 백업 파일을 사용하여 동일한 Amazon RDS for SQL Server DB 인스턴스 또는 새 RDS DB 인스턴스로 복원할 수 있습니다.

다음 SQL 문 중 하나를 사용하여 S3 버킷에서 사용 가능한 백업 파일로부터 복원할 수 있습니다.

암호화되지 않은 데이터베이스 복원

exec msdb.dbo.rds_restore_database 
@restore_db_name='database_name', 
@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension';

암호화된 데이터베이스 복원

exec msdb.dbo.rds_restore_database 
@restore_db_name='database_name', 
@s3_arn_to_restore_from='arn:aws:s3::: bucket_name/file_name_and_extension', 
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id';

백업 또는 복원 문을 수행한 후 태스크 ID를 가져올 수 있습니다. 또는 다음 스크립트를 사용하여 특정 데이터베이스에 대해 모든 완료된 작업 및 보류 중인 작업을 식별할 수 있습니다.

exec msdb.dbo.rds_task_status @db_name='database_name'

작업의 상태를 추적하려면 다음 SQL 문을 사용합니다.

exec msdb..rds_task_status @task_id= 5

잠재적 오류 및 솔루션 목록은 Microsoft SQL Server Enterprise 워크로드를 Amazon RDS로 마이그레이션하기를 참조하십시오.