Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何将不同AWS帐户中的SQL Server RDS DB备份/恢复到S3 bucket_Sql Server_Amazon S3_Amazon Rds_Database Backups_Aws Iam - Fatal编程技术网

Sql server 如何将不同AWS帐户中的SQL Server RDS DB备份/恢复到S3 bucket

Sql server 如何将不同AWS帐户中的SQL Server RDS DB备份/恢复到S3 bucket,sql-server,amazon-s3,amazon-rds,database-backups,aws-iam,Sql Server,Amazon S3,Amazon Rds,Database Backups,Aws Iam,我想将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::

我想将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';

基本上,您可以将
SQL\u SERVER\u BACKUP\u RESTORE
添加到选项组中。将此组与RDS SQL Server实例关联。确保使用S3存储桶信息配置此选项,并包含用于备份加密的KMS密钥

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

  • 添加SQL\u SERVER\u BACKUP\u RESTORE选项

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

  • 使用SQL Server Management Studio连接到DB实例,并根据需要调用以下存储过程:

  • rds\u备份\u数据库
    –将单个数据库备份到S3存储桶

    rds\u取消任务
    –取消正在运行的备份或还原任务

    rds_restore_数据库
    –从S3恢复单个数据库

    rds_任务_状态
    –跟踪正在运行的备份和恢复任务

    例如:要备份:
    rds\u backup\u database
    rds\u task\u status
    ,要还原单个数据库,请使用
    rds\u restore\u database

    这些是基本的。其他任务可能通过CLI或控制台提供。详细的定制可能需要脚本。


    您的选项组需要两个选项

    有没有办法使步骤3自动化??例如,我需要每天自动执行一次。