AWS SQL Server 2016还原2个数据库错误消息



我正在测试,以查看基于SQL服务器的程序是否也可以在Amazon Server上使用2016 SQL Server在AWS Cloud Server上工作。为了使我对其进行测试,我需要还原2个数据库。一旦我弄清楚,第一个最终恢复了……从我的s3" bucket" bak文件中还原数据库。因此,我尝试使用相同的还原存储的程序来还原第二个数据库,并获取此消息:

[2017-12-28 02:44:22.320]文件'd: rdsdbdata data smsystemdata.mdf'不能被覆盖。该数据库" AMWSYS"正在使用它。 [2017-12-28 02:44:22.320]文件'sm_system_data'不能恢复为'd: rdsdbdata data smsystemdata.mdf'。与移动一起使用以标识文件的有效位置。

我找不到移动使用的地方,因为它不能让我通过管理工作室还原菜单进行交互恢复;相反,我必须给它一个存储过程命令:

exec msdb.dbo.rds_restore_database 
    @restore_db_name='sample99', 
    @s3_arn_to_restore_from='arn:aws:s3:::lighthouse-chicago/sample999.bak';

每次告诉我它无法恢复它,因为它将覆盖第一个数据库的文件。

非常感谢比尔

我认为您陷入了RDS的限制中。
我有和你一样的问题。RDS不可能从一个DB实例进行多个还原。

这是您可能遇到的RDS的限制。
https://docs.aws.amazon.com/amazonrds/latest/userguide/sqlserver.procedural.importing.html

您无法将备份文件还原到使用的同一DB实例 创建备份文件。而是将备份文件还原为新的 DB实例。重命名数据库并不是这样做的 限制。

您不能将相同的备份文件还原为db实例多个 时代。也就是说,您不能将备份文件还原到DB实例 已经包含正在还原的数据库。重命名 数据库不是此限制的解决方法。

如果在这种情况下,则不能使用.bak文件。为了避免它,您应该使用DML创建DB实例并导入表数据。

最新更新