我正在尝试在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行)
请告知
答案 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';