RDS for SQL Serve如何使用OSS备份文件增量上云?

云上珠玑 2019-09-20

OSS RDS SQL 日志 数据库 测试 Image Server 子文件 demo

今天这篇文章主要通过举例为大家大概估算一下增量上云需要的时间,并通过简单的讲解为大家演示增量上云的具体操作。

增量上云的流程
我们把增量上云的流程分解成九个步骤:1.准备工作。2.数据库完全备份。3.上传完全备份到OSS。4.上云完全备份文件。5.日志备份并上传。6.上云日志备份文件。7.重复5-6步然后停止本地环境数据写入。8.打开数据库。9.上云完毕。

image

假如在凌晨之前把第1步的准备工作都做好。

接着我们在00:01时开始对数据库做完全备份。如果这个数据库比较大,备份时间较长,假设在2:00的时候完成这个数据库的完全备份。

备份完以后就通过OSS的OSS Browser工具上传到我们自己的OSS Bucket里面。这里需要提醒的是,这个OSS Bucket和我们的RDS SQL Server对应的实例在同一个可用区。假如在3:00完成完全备份文件的上传。

接下来就需要我们通过RDS控制台去导入这个完全备份文件。前面已经假设这个备份文件比较大了,这里导入就会花比较长的时间,假如在22:00的时候这个完全备份文件导入结束。

之后,我们再做一个数据库的日志备份文件,并上传到OSS Bucket里面。在22:20的时候上传动作结束了,紧接着我们通过RDS控制台导入这个日志备份文件,假设在22:30的时候导入结束。

第7个步骤比较重要,实际上这里是不断的循环第5步和第6步,当我们打算最后一次上传日志或者差异备份文件的时候,我们先去停止线下的数据库的写入的操作,之后再来备份→上传→导入最后一个日志或者差异备份文件。到此时时间是22:34。

接着,第8步打开数据库。我们的上云任务就结束了。用户的应用就可以切换到RDS SQL Server上来了。

从这个案例来看,停止写入的操作和最后打开使用的时间间隔是很短的,大概只有几分钟左右。这个其实是一个比较典型的案例。

具体的Demo

案例完了以后,我们来看一个具体的Demo。

image

首先我们会建一个测试的数据库。

image

测试数据库建完以后,用DBCC检查这个数据有没有问题。

image

没有问题的话,停止本地备份系统。

image

完了以后,把这个数据库修改为完全模式。
image

接下来在这个数据库下面插入一张测试表。

image

这种测试表我一般会插入四条记录,每插一条记录,就会对这个数据库进行一次备份。然后通过OSS增量上云的方式上传到我们的RDS SQL Server上来。备份用的这个脚本在向导里面可以下载。

下面我们用实例来进行增量上云的Demo演示。

image

打开实例后我们可以看到,在左边有个叫备份恢复的页签。

image

进入以后有一个OSS备份数据恢复上云。点开弹出数据导入向导。

image

这里就可以下载我刚才讲到的备份文件的脚本。在这里下载,然后点击下一步。这里有一些帮助文档。

image

再下一步之后进入数据导入页面。

image

在这里我们可以选择RDS所在Region的Bucket,然后将我们刚才完全备份的数据库文件上传到RDS SQL Server所在的Region对应的OSS Bucket。

image

这个地方我已经建好了,叫rdsmssql,然后有一个叫Migration的文件夹。把刚才那个文件上传上去。

接下来在数据导入向导的OSS子文件夹名处,输入刚才那个文件夹的名字Migration,斜线可要可不要。然后点击OSS文件列表的搜索按钮,可以看到,刚才上传的文件就显示在这了。

我们给数据库命名为testmigration。增量上云的上云方案选择第二个“不打开数据库”,点击确定按钮。迁移任务就已经成功了。

image

点开备份数据上云记录,可以看到已经生成一个增量上云了。刷新页面以后看到这个任务已经变为运行中了。

image

任务结束以后,状态会变成等待。等待上线或者是等待差异日志或备份日志。

image

接下来就要准备差异备份或者是日志备份文件,备份完成后继续按照上面的方法上传。上传后紧接着要用RDS控台把这个增量日志备份文件上传到我们的RDS SQL Server里面。

image

点击上传增量文件

image

Bucket和OSS子文件夹名都跟刚才相同,在文件列表中选择刚才那个日志备份文件,然后确定。

这样一来,我们的日志上云任务就已经生成了。等任务状态从运行中变为等待以后,如果用户还有增量文件,可以按照上述方法继续上传。

按照我们刚才的Demo的话,实际上我们只有最后一步了。接下来就是最后一个备份文件了。记住一定要先停止线下环境的写入动作再上传最后一个备份文件。上传完成以后,打开数据库。

image

打开数据库的时候,会弹出一个选项卡。

image

这个选项卡是让用户选择一致性检查的方法,一个是同步执行DBCC,一个是异步执行DBCC。如果用户的数据库比较大,同步执行耗时会很长,用户应用迁移的停机时间就会很长,所以我们默认选用异步执行DBCC。打开数据库的任务已经生成,刷新页面可以看见这个任务已经成功了。

image

任务末尾有一个查看文件详情的选项,点开可以看见我们上传的所有文件。

image

我们在DMS中看看能否找到这个数据库。

image

DMS里面也已经可以看到这个数据库。

image

这里可以看到我们上传的这几条数据都是对的,说明四个备份文件都已经完全还原到我们的RDS SQL Server上面了。这是一个非常成功的一个增量上云的Demo,用户在应用切换的时候,只在最后一个日志备份之前停止应用,可以大大的缩短应用停机时间,把停机时间减少到分钟级别。

更多信息参见:云数据库 RDS 版

原文地址:https://aliyunnew.com/a/How-does-RDS-for-SQL-Serve-incrementally-use-OSS-backup-files-to-cloud.html

登录 后评论
下一篇
corcosa
12645人浏览
2019-10-08
相关推荐
云数据库产品月刊·5月刊
4819人浏览
2018-06-11 14:17:11
车联网上云最佳实践(三)
2674人浏览
2018-08-23 14:23:22
阿里云数据库Greenplum版发布啦
22424人浏览
2016-07-11 20:08:11
0
0
0
300