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

问题描述 投票:2回答:1

我正在测试是否可以在Amazon服务器上使用2016 SQL Server的AWS Cloud Server上运行基于SQL Server服务器的程序。为了让我测试它,我需要恢复2个数据库。一旦我弄明白,第一个最终恢复正常......从我的S3“桶”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'。使用WITH MOVE标识文件的有效位置。

我无法找到使用WITH MOVE的位置,因为它不会让我通过Management Studio恢复菜单以交互方式恢复它;相反,我必须给它一个存储过程命令:

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

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

非常感谢法案

sql-server amazon-web-services amazon-s3
1个回答
1
投票

我认为你陷入了RDS的限制。 我和你有类似的问题。 RDS无法从一个数据库实例进行多次还原。

以下是您可能遇到的RDS限制。 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html

您无法将备份文件还原到用于创建备份文件的同一数据库实例。而是将备份文件还原到新的数据库实例。重命名数据库不是此限制的解决方法。

您无法多次将同一备份文件还原到数据库实例。也就是说,您无法将备份文件还原到已包含要还原的数据库的数据库实例。重命名数据库不是此限制的解决方法。

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

© www.soinside.com 2019 - 2024. All rights reserved.