1

我想将 SQL Server RDS 备份/恢复到 S3 存储桶。RDS 和 S3 都在不同的帐户中。如何实施。我用来备份/恢复的查询是:

备份:

USE [msdb]
GO

DECLARE   @return_value int

EXEC  @return_value = [dbo].[rds_backup_database]
      @source_db_name = 'your_database_name',
      @S3_arn_to_backup_to = 'arn:aws:s3:::your-bucket-name/folder/db.bak',
      @KMS_master_key_arn = NULL,
      @overwrite_S3_backup_file = NULL

SELECT    'Return Value' = @return_value

GO

恢复

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

2 回答 2

1

基本上你添加SQL_SERVER_BACKUP_RESTORE到一个选项组。将此组与 RDS SQL Server 实例相关联。确保使用 S3 存储桶信息配置此选项,并包含用于备份加密的 KMS 密钥。

因此,首先从管理控制台中找到所需的选项组。

  1. 添加 SQL_SERVER_BACKUP_RESTORE 选项。

  2. 创建 IAM 角色以使 RDS 能够访问 S3 并指向存储桶。此时您还可以指定和配置加密。

  3. 使用 SQL Server Management Studio 连接数据库实例并根据需要调用以下存储过程:

rds_backup_database– 将单个数据库备份到 S3 存储桶。

rds_cancel_task– 取消正在运行的备份或恢复任务。

rds_restore_database– 从 S3 恢复单个数据库。

rds_task_status– 跟踪正在运行的备份和恢复任务。

例如:备份:rds_backup_databaserds_task_status,以及恢复单个数据库使用rds_restore_database.

这些是备份和恢复的基础。可以通过 CLI 或控制台执行其他任务。详细的定制可能需要编写脚本。

于 2018-02-25T15:32:05.837 回答
0

在此处输入图像描述

您的选项组需要这两个选项!!!

于 2020-02-28T11:54:24.183 回答