2014-06-25 92 views
13

可以使用标准任务 - >备份和任务 - >创建在Amazon RDS实例上运行的数据库的备份,并在本地计算机上恢复它,还原Microsoft SQL Server Management Studio中的功能?如果是这样,你如何去做这件事?如何备份Amazon RDS MS SQL Server数据库实例并在本地恢复

请注意,此问题与您是否可以批量复制数据或生成脚本无关,但是是否可以创建可使用SSMS恢复功能恢复的真正.BAK数据库备份。

+0

可能重复[如何备份远程SQL Server数据库到本地驱动器?](http://stackoverflow.com/questions/3942207/how-can-i-backup-a-remote-sql-server -database-to-a-local-drive) – drneel

+0

此问题是关于使用Microsoft SQL Server Management Studio中的标准任务 - >备份和任务 - >恢复功能执行真实备份。因此,这是一个不同的问题。 –

回答

9

你目前无法从amazon rds创建一个.bak文件。我处理这个问题的方式是使用Azure迁移向导,它恰好也适用于亚马逊rds。

我使用SQL Server启动了一个EC2实例,并安装了迁移向导。然后,我使用迁移工具将RDS数据库复制到ec2实例。

一旦完成,您可以从运行在EC2实例上的SQL Server创建一个.bak文件。它的痛苦,但它的作品。如果你有带宽或者数据库很小,你可以直接在目标机器上使用迁移工具。

http://sqlazuremw.codeplex.com

+2

刚刚添加的RDS“Amazon RDS for SQL Server现在支持使用S3的SQL Server本机备份/恢复”https://aws.amazon.com/about-aws/whats-new/2016/07/amazon-rds-sql-server -supports-native-backups/ – russau

2

您可以从AWS RDS在本地创建一个备份。 使用SQL Management Studio,右键单击您的数据库>任务>导出数据

您只需选择正确的“数据源” “SQL Server Native 11”适用于源和目标。

它在AWS文档页面很好的描述: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html#SQLServer.Procedural.Exporting.SSIEW

章节: “SQL Server导入和导出向导”

+1

这是批量复制数据的好方法。但是,这不是真正的备份,因为它不复制任何密钥,索引,约束等。 – mntyguy

+0

AWS文档确实帮助了... – Avinash

6

现在,您可以得到一个BAK文件伸到S3。下面是说明:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html

这里有一个快速的片段,会生成一个备份:

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', 
    @overwrite_S3_backup_file=1; 

此功能之前,我可以得到一个bacpac的是,在我的情况下,运作良好。在SSMS中,右键单击数据库>任务>导出数据层应用程序。

我能够导入到我的服务器没有任何问题。

相关问题