开发者社区> 问答> 正文

用户指南-数据迁移- SQL Server备份数据上云-增量备份 数据上云SQL Server 2012



适用场景


RDS for SQL Server 2012/2016版提供了增量上云功能,将上云期间的业务中断时间控制在分钟级别,大大缩短了业务中断时间。RDS for SQL Server增量数据上云适用于以下场景:

步骤说明全量阶段Step1. 00:00之前完成准备工作,包括:
  • 完成DBCC CheckDB检查;
  • 关闭本地环境备份系统;
  • 修改数据库为FULL恢复模式。
Step2. 00:01用户开始对线下数据库做FULL Backup。Step3. 02:00完成FULL Backup,耗时近1小时,开始上传备份文件到OSS Bucket。Step4. 03:00完成备份文件上传,耗时1小时,开始在RDS控制台恢复FULL Backup文件。Step5. 22:00完成FULL Backup恢复上云,耗时19小时,开始数据库增量LOG备份上云过程。增量阶段Step6. 22:20完成LOG备份并上传至OSS,耗时20分钟,开始在RDS控制台恢复增量LOG文件。Step7. 22:30
  • 完成LOG Backup上云,耗时10分钟。
  • 重复Step6 – 7,不断Backup LOG、上传到OSS、增量上云LOG备份文件,确保最后一个Backup LOG文件尽量小(500MB以下)。
  • 停止本地应用对数据库的写入操作,再做一个LOG Backup,最后一次增量上云。
打开数据库Step8. 22:34完成了最后一个LOG Backup文件增量上云操作,耗时4分钟,开始将数据库带上线。Step9. 22:35数据库上线完毕,如果选择异步执行DBCC操作,上线速度快,耗时1分钟。
从整个的动作流程和时间轴来看,用户需要停止应用的时间非常的短,仅在最后一个LOG Backup之前停止应用写入即可。在本例中整个应用停止的时间控制在5分钟内。

前提条件

  • 要求RDS for SQL Server为以下版本:RDS for SQL Server 2012/2016 Web版、2012企业单机基础版。
  • RDS for SQL Server 2012/2016 标准版、企业版高可用系列(即双机版)。
授权RDS服务账号访问OSS权限
授予RDS服务账号访问OSS的权限后,系统会在访问控制RAM的角色管理中创建名为AliyunRDSImportRole的角色。请勿修改或删除这个角色,否则会导致上云时无法下载备份文件。如果修改或删除了这个角色,您需要通过数据上云向导重新授权。准备OSS Bucket
创建与目标实例同地域的OSS Bucket。如果Bucket已经存在,请跳过本步骤。创建方法请参考创建存储空间。确保数据库恢复模式为FULL
增量备份数据上云时,用户数据库的恢复模式必须是FULL模式。恢复模式是Simple模式时,不允许做事务日志备份,而差异备份文件有可能会很大,导致增量上云的时间被拉长。RDS for SQL Server空间要求
请确保RDS for SQL Server有足够的存储空间,如果空间不足,请提前升级实例空间,以免因空间不足而导致迁入失败。RDS for SQL Server中不能存在同名的目标数据库
如果同名的数据库已经存在,请先备份该数据库,再删除该数据库,最后创建迁移任务。在RDS for SQL Server上创建初始账号
通过RDS控制台创建目标实例的初始账号,如果已经存在初始账号,请跳过本步骤。关闭本地备份系统
为确保增量上云成功,请关闭本地环境的备份系统。否则,可能会因为本地环境的备份系统对上云数据库的自动备份操作,导致增量上云失败。运行DBCC CHECKDB
在本地环境对需要上云的数据库做DBCC CHECKDB(‘xxx’)检查,执行完毕后,确保没有任何的allocation errors和consistency errors。正常的结果如下:CHECKDB found 0 allocation errors and 0 consistency errors in database 'xxx'.DBCC execution completed. If DBCC printed error messages, contact your system administrator.
如果发现DBCC CHECKDB有任何错误,请先在本地环境修复数据库,否则会导致上云失败。

限制条件

  • 备份文件版本
    不支持由高版本的备份文件往低版本做迁移,比如:从SQL Server 2016迁移到RDS for SQL Server 2012等。
  • 备份文件后缀名限制
    备份文件名仅支持bak、diff、trn或者log为后缀名。如果没有使用本文中的脚本生成备份文件,请使用如下后缀名:bak:表示全量备份文件
  • diff:表示差异备份文件
  • trn或者log:表示事务日志备份

备份文件命名限制
数据库备份文件名中不能包含中文、@或者|等特殊字符,或者OSS Bucket中目录包含中文,会导致OSS备份数据恢复上云任务失败。

展开
收起
梨好橙 2018-09-08 00:18:21 2479 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载