Amazon RDS - MS SQL 数据库导出导入


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

下图描述了该方法。

mssql_export_import.png

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

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

  • 将数据库迁移到 Amazon 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';