从 S3 恢复 SQL Server RDS 数据库陷入恢复模式

Bo *_*son 0 sql-server restore aws amazon-rds

摘要:我们正在 RDS 实例上从 S3 恢复 SQL Server 数据库。尽管当我们访问数据库时作业会说恢复已完成,但它仍停留在“恢复”模式,我们无法对其执行任何操作。

详细信息:我们已经启动了一个新的 SQL Server RDS 实例,并且正在尝试从存储在 S3 中的备份恢复数据库。这很简单,我们必须在过去大约一年前这样做。我们运行AWS 文档中的命令

EXEC msdb.dbo.rds_restore_database
 @restore_db_name = 'OurDB'
, @s3_arn_to_restore_from = 'arn:aws:s3:::bucket/SQLBackUp.bak'
, @with_norecovery = 1
Run Code Online (Sandbox Code Playgroud)

我们知道,如果未设置选项组和 IAM 角色,该命令将不起作用,因此我们已确保它们已设置。当我们运行该命令时,需要几分钟的时间,但似乎运行良好。

我们运行命令来检查状态

EXEC msdb.dbo.rds_task_status
 @db_name='OurDB'
Run Code Online (Sandbox Code Playgroud)

完成百分比在接下来的几分钟内增长到 100%,并且生命周期值表示“成功”。但是,当我尝试访问数据库时,我无法访问,它说它卡在恢复中,我收到的确切错误消息是“数据库 OurDB 无法访问。(ObjectExplorer)”

每当我搜索 RESTORE DATABASE Stuck RDS SQL SERVER 或其变体时,我找到的所有内容都是关于恢复整个 RDS 实例而不是单个数据库。或者,如果我能够找到有关恢复卡住的数据库的信息,那么它就不是关于 RDS 的,而是关于常规 SQL Server 的。

以下是我所看到的一些屏幕截图。

SQL 命令和结果 SSMS 中的错误

Nik*_*kiy 5

它没有卡住,只是仍然处于恢复模式,因为您使用了 @with_norecovery = 1。您需要通过恢复来恢复数据库才能完成该过程。