AWS RDS SQL Server 备份/下载
RDS 实例必须备份到同区域 S3 桶,再从 S3 下载到本地
步骤 1:创建权限策略
- 打开 IAM 控制台 → 策略 → 创建策略 → 切换到 JSON 视图
- 粘贴下面 JSON,替换 S3 桶名
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::bucketname"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::bucketname/dbfolder/*"
}
]
}

- 下一步,命名后保存,如
RDS_S3_Backup_Policy。
步骤 2:创建 IAM 角色
- IAM 控制台 → 角色 → 创建角色
- 信任实体类型:AWS 服务
- 使用案例:选择 RDS → 再选 RDS – Add Role to Database → 下一步
- 权限页面:搜索并勾选刚才新建的
RDS_S3_Backup_Policy,下一步 - 角色名称:
RDS_S3_Backup_Role,填写描述,创建角色
信任策略已自动生成:允许
rds.amazonaws.com调用 sts:AssumeRole。
如果你手动建角色,信任策略 JSON 如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "rds.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}



步骤 3:RDS选项组设置
1.进入 RDS 控制台 → 左侧【选项组】→ 编辑/创建选项组
- 引擎:sqlserver-se/sqlserver-ee 按实例引擎选
- 主引擎版本:和 RDS 实例版本保持一致

-
前一步的选项组 → 添加选项
- 选项名称:SQLSERVER_BACKUP_RESTORE
- IAM 角色:选择刚才创建的
RDS_S3_Backup_Role - 立即应用 → 添加选项

-
修改 RDS 实例,绑定这个选项组
- RDS → 数据库 → 选中你的 SQL 实例 → 修改
- 附加配置 → 数据库选项:选择上面新建的选项组
- 继续,选择立即应用,保存修改

步骤 4:执行备份
# https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.Native.Using.html
# RDS 主账号执行`rds_backup_database`
exec msdb.dbo.rds_backup_database
@source_db_name='database_name',
@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name.extension',
[@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'],
[@overwrite_s3_backup_file=0|1],
[@block_size=512|1024|2048|4096|8192|16384|32768|65536],
[@max_transfer_size=n],
[@buffer_count=n],
[@type='DIFFERENTIAL|FULL'],
[@number_of_files=n],
[@enable_bucket_default_encryption=0|1];
# 查看执行状态
EXEC msdb.dbo.rds_task_status;

步骤 5:下载备份
从桶里下载

浙公网安备 33010602011771号