2017-10-04 114 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。」 –