Проблема: Пытаюсь перенести базу Microsoft SQL Server на инстанс AWS-RDS. При restore получаю ошибку "file to retrieve data for this request, Permission denied"
Решение: Надо положить бэкап-файл на S3
- Создать S3 Bucket в том же регионе, что и БД
- Создать новую RDS OptionsGroup с опцией SQLSERVER_BACKUP_RESTOR. Добавить роль IAM, чтобы БД могла лезть в S3
- Заменить OptionsGroup инстанса
- Подключиться к БД исполнить скрипт восстановления (restore) BD
123456exec msdb.dbo.rds_restore_database@restore_db_name='database_name',@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name.extension',@with_norecovery=0|1,[@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'],[@type='DIFFERENTIAL|FULL'];
или сокращенно
123exec msdb.dbo.rds_restore_database@restore_db_name='database_name',@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name.extension';
Проверить статус: exec msdb.dbo.rds_task_status;
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html