在此也感谢阿里云售后兄弟的支持。全文参考 https://help.aliyun.com/document_detail/95738.html?
1、 首先得要有个阿里云账号,已经购买RDS数据库(本文针对SQL Server)且已经开通阿里云OSS服务。
2、 本文档适用于以下版本的实例:
RDS for SQL Server 2012/2016 Web版
RDS for SQL Server 2012 企业版基础系列
RDS for SQL Server 2012/2016标准版、企业版
RDS for SQL Server 2017 企业集群版
3、 备份文件命名限制
全量备份文件名不能包含@或者|等特殊字符,否则会导致数据库上云失败。
4、 注意事项
AliyunRDSImportRole的角色
授予RDS服务账号访问OSS的权限以后,系统会在访问控制RAM的角色管理中创建名为AliyunRDSImportRole的角色,请勿修改或删除这个角色,否则会导致上云任务无法下载备份文件而失败。如果修改或删除了这个角色,您需要通过数据上云向导重新授权。
具体操作步骤:
1、 运行DBCC CHECKDB检测本地数据库,如有问题则需要在本地修复数据库,否则会导致失败。下面是我遇到的问题,以及修复过程。
参考https://www.cnblogs.com/www123----/p/10178077.html
DBCC CHECKDB('pos')
--修改数据库为单用户实例
EXEC sp_dboption 'pos', 'single user', 'TRUE'
--修复数据库
dbcc checkdb ('pos',repair_allow_data_loss)
--修复数据库索引
dbcc checkdb ('pos',REPAIR_REBUILD)
--取消单用户模式
EXEC sp_dboption 'pos', 'single user','FALSE'
修复后重新验证一下无问题后,备份。
2、文件上传至OSS服务器
2.1 先创建Bucket(这里已经创建好)
2.2 上传数据库备份文件,等待完成即可。
3、进入阿里云RDS服务器,点击管理实例
点击备份恢复-OSS备份数据库恢复上云
跟着向导走,然后选择需要的还原的数据库即可,第一次的时候最下面有个授权(AliyunRDSImportRole的角色)也就是第4点注意事项。这里已经授权。
点击确定即可,等待还原成功。