Amazon RDS MSSQL提供本机备份和还原,作为导出和导入数据库的机制.可以从内部部署数据库创建完整备份文件,并将其存储在Amazon S3中.接下来,此备份文件将还原到运行SQL Server的现有Amazon RDS数据库实例.我们可以按照类似的步骤从Amazon RDS MSSQL实例导出数据并将其还原到内部部署的SQL Server数据库.
下图描述了该方法.
我们将上面创建的备份文件上传到目标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';