无法在Amazon RDS SQL Server

时间:2017-06-05 01:27:52

标签: sql-server amazon-web-services amazon-rds rds

我正在尝试在AWS RDS中分离和附加数据库。我可以毫无问题地分离数据库。但是当我尝试附加数据库时,我收到的错误很少。

当我第一次运行attach命令时,出现以下错误:

  

无法创建数据库:当前数据库中已存在用户,组或角色“sa”。

当我第二次执行时,我明白了:

  

Msg 1802,Level 16,State 7.
  CREATE DATABASE失败。无法创建列出的某些文件名。检查相关错误。

     

Msg 5120,Level 16,State 101.
  无法打开物理文件“D:\ RDSDBDATA \ DATA \ DBattachTest.mdf”。操作系统错误2:“2(系统找不到指定的文件。)”。 (第6行)

请告知

1 个答案:

答案 0 :(得分:1)

我不确定您要做什么,但您应该使用备份还原功能来移动数据库。附加和分离将无法像在传统SQL环境中那样工作:RDS是一种托管服务,您对底层操作系统的访问权限非常有限。

来自AWS docs

  

恢复数据库

     

要恢复数据库,请调用rds_restore_database存储过程。

     

需要以下参数:

     
    

@restore_db_name - 要还原的数据库的名称。

         

@s3_arn_to_restore_from - 包含备份文件的Amazon S3存储桶以及文件名。

         

以下参数是可选的:

         

@kms_master_key_arn - 如果您加密了备份文件,则用于解密文件的密钥。

         

没有加密的示例

  
exec msdb.dbo.rds_restore_database 
    @restore_db_name='database_name', 
    @s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension';
  

加密示例

exec msdb.dbo.rds_restore_database 
    @restore_db_name='database_name', 
    @s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension',
    @kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id';