在此也感谢阿里云售后兄弟的支持。全文参考 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点注意事项。这里已经授权。
点击确定即可,等待还原成功。