2017-10-04 96 views
0

我在AWS上创建了SQL Server res实例。我想从.bak文件恢复数据库。我下面的步骤,以便进行恢复:AWS RDS SQL Server RESTORE ISSUE

sqlcmd -S XXX.rds.amazonaws.com -U root -P XXXX 

USE master 
go 

create database xyzzy 

RESTORE DATABASE xyzzy 
FROM DISK = N'C:\Users\Administrator\Downloads\FMAT_CPS_backup_2017_09_29_040005_9422965.bak' 
go 

,但我得到这个错误

Msg 3110, Level 14, State 1, Server EC2AMAZ-BUJEKP3, Line 1
User does not have permission to RESTORE database 'catalyst'.

Msg 3013, Level 16, State 1, Server EC2AMAZ-BUJEKP3, Line 1
RESTORE DATABASE is terminating abnormally.

当我试图此命令

C:\Users\Administrator>sqlcmd -e -S xxxxrds.amazonaws.com -U root -P xxxx -i "C:\Users\Administrator\Downloads\FMAT_CPS_backup_2017_09_29_040005_9422965.bak" 

我得到另一个错误:

Sqlcmd: Error: Syntax error at line 224 near command 'S' in file 'C:\Users\Administrator\Downloads\FMAT_CPS_backup_2017_09_29_040005_9422965.bak'.

.bak文件是25GB大小,我无法打开它。

如何解决这些错误?

回答

2

您可能没有足够的权限是否适当的IAM证书。

或者

您可以在创建MS SQL AWS RDS的时间把文件上传到S3 and Restore to RDS

+0

,我创建的主用户是根。和.bak文件在我的本地系统上。我用root登录并尝试恢复它。 –

+0

post参考AWS文档,我执行了下面的步骤, 将.bak文件存储到S3存储桶。 创建新的选项组并将SQLSERVER_BACKUP_RESTORE选项添加到此选项组,在添加选项期间创建可访问S3存储桶的新IAM角色。并将此选项组分配给RDS实例。 等待上传备份文件完成。上传后将使用下面的命令进行恢复。 'exec msdb.dbo.rds_restore_database @ restore_db_name ='dynamo',@ s3_arn_to_restore_from ='arn:aws:s3 ::: S3Bucket/file.bak';' 一旦完成,将会更新最终结果。 –

+0

上传完成。我尝试恢复数据库,但我失败了。并且例外是“引发状态ConnectFailure的WebException。” –