Amazon RDS - MS SQL DB导出导入

Amazon RDS MSSQL提供本机备份和还原,作为导出和导入数据库的机制.可以从内部部署数据库创建完整备份文件,并将其存储在Amazon S3中.接下来,此备份文件将还原到运行SQL Server的现有Amazon RDS数据库实例.我们可以按照类似的步骤从Amazon RDS MSSQL实例导出数据并将其还原到内部部署的SQL Server数据库.

下图描述了该方法.

mssql_export_import.png

我们将上面创建的备份文件上传到目标RDS MSSQL数据库所在的同一区域中的预定Amazon S3存储桶.您可以按照此链接了解如何上传.

这种本地备份和恢复机制具有以下优点.

  • 将数据库迁移到亚马逊RDS.

  • 在Amazon RDS SQL Server数据库实例之间移动数据库.

  • 导入和导出数据.

  • 迁移模式,存储过程,触发器和其他数据库代码.

  • 备份和恢复单个数据库,而不是整个数据库实例.

  • 创建用于测试,培训和演示的数据库副本.

  • 通过Amazon S3存储和传输备份文件进出Amazon RDS,为灾难恢复提供额外的保护层.

备份数据库

要备份数据库,请调用从SSMS客户端软件连接到Amazon RDS MSSQL实例后的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_and_extension',
        @kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id',
        @overwrite_S3_backup_file=1,
        @type='FULL';

成功完成上述存储过程会创建一个备份文件并将其存储在上述S3中.

恢复数据库

要恢复数据库,请在从SSMS客户端软件连接到Amazon RDS MSSQL实例后调用rds_restore_database存储过程.使用以下参数执行存储过程.

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';