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

3분 분량
0

SQL Server를 실행하는 Amazon Relational Database Service(RDS) DB 인스턴스에서 사용자 데이터베이스의 기본 백업을 실행하고 싶습니다. 백업 파일을 Amazon Simple Storage Service(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 콘솔을 열고 탐색 창에서 옵션 그룹을 선택합니다. 그룹 생성을 선택하고 서버 이름, 설명, 엔진, 엔진 버전을 입력합니다. 그런 다음 생성을 선택합니다.
  2. 생성한 옵션 그룹을 선택하고 옵션 추가를 선택합니다. SQLSERVER_BACKUP_RESTORE을 선택합니다. 새 IAM 역할을 생성하고 옵션 추가를 선택해 IAM 역할에 필요한 권한을 부여하는 것이 좋습니다. S3 버킷을 선택하거나 새 S3 버킷을 생성합니다. 그런 다음 즉시 적용옵션 추가를 선택합니다.
  3. 탐색 창에서 데이터베이스를 선택해 옵션 그룹을 DB 인스턴스와 연결한 후 백업할 인스턴스를 선택합니다. 작업을 선택하고 수정을 선택합니다.
  4. 데이터베이스 옵션에서 생성한 옵션 그룹을 선택하고 즉시 적용계속을 선택합니다. 정보를 검토한 후 DB 인스턴스 수정을 선택합니다. 인스턴스 재부팅이 필요하지 않기 때문에 이 옵션 그룹을 수정할 때 가동 중지 시간이 없습니다.
  5. 상태가 수정 중에서 사용 가능으로 변경되면 RDS 인스턴스의 마스터 사용자를 사용하여 SQL Server Management Studio를 통해 DB 인스턴스에 연결합니다. 그런 다음 새 쿼리를 선택하고 다음 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-idkey-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로 마이그레이션하기를 참고하세요.


관련 정보

백업 관련 작업하기

Amazon RDS DB 인스턴스 백업 및 복원

기본 백업과 복원을 사용해 SQL Server 데이터베이스 가져오기 및 내보내기