Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server AWS RDS SQL Server备份还原问题_Sql Server_Amazon Web Services_Amazon Rds - Fatal编程技术网

Sql server AWS RDS SQL Server备份还原问题

Sql server AWS RDS SQL Server备份还原问题,sql-server,amazon-web-services,amazon-rds,Sql Server,Amazon Web Services,Amazon Rds,我已经为SQL Server 2019 SE设置了RDS实例。还创建了主版本为15的选项组。SQL Server备份和还原选项与S3设置和IAM角色一起添加。选项组还附加了实例 我执行了命令 exec msdb.dbo.rds_restore_database @restore_db_name='MyDatabaseOnRDS_Staging', @s3_arn_to_restore_from='arn:aws:s3:::MyBucketName/MyDatabaseOnRDS_Staging

我已经为SQL Server 2019 SE设置了RDS实例。还创建了主版本为15的选项组。SQL Server备份和还原选项与S3设置和IAM角色一起添加。选项组还附加了实例

我执行了命令

exec msdb.dbo.rds_restore_database @restore_db_name='MyDatabaseOnRDS_Staging', 
@s3_arn_to_restore_from='arn:aws:s3:::MyBucketName/MyDatabaseOnRDS_Staging.bak';
上述语句创建了在中可见的任务

exec msdb.dbo.rds_task_status;
完成百分比变为100%。但它在“生命周期”列中显示错误。当我在task_info列中查看详细信息时,它会在末尾显示错误

建议的新数据库所有者已经是数据库中的用户或别名。已将数据库上下文更改为“主”


我做错了什么?

您正试图从与该数据库的连接中恢复该数据库。如错误所示,将执行还原操作的上下文更改为主数据库。

确定,问题是sa用户。它是作为db用户添加的。它处于禁用状态,但出于某种原因,AWS RDS不允许rdsa成为还原中DB的DB所有者,因为sa是DB用户的一部分

我做了以下步骤

  • 将sa架构所有者更改为dbo
  • 从DB用户中删除了sa用户(仅为用户,而不是sa架构)
  • 获取备份,将备份复制到S3并将其还原

  • 在SSMS中选择的数据库是主数据库。实例上只有一个rdsadmin数据库。