美文网首页我是程序员SQL-Server数据之美
最佳实践 · 实例级别数据库上云RDS SQL Server

最佳实践 · 实例级别数据库上云RDS SQL Server

作者: 阿里云云栖号 | 来源:发表于2018-08-13 15:06 被阅读82次

    摘要

    到目前,我们完成了SQL Server备份还原专题系列八篇月报分享:三种常见的数据库备份、备份策略的制定、查找备份链、数据库的三种恢复模式与备份之间的关系、利用文件组实现冷热数据隔离备份方案、如何监控备份还原进度、阿里云RDS SQL自动化迁移上云的一种解决方案以及上个月分享的RDS SDK实现数据库迁移上阿里云,本期我们分享如何将用户线下或者ECS上自建实例级别数据库一键迁移上阿里云RDS SQL Server。

    适用场景

    在我们上一个月分享的RDS SDK实现数据库迁移上阿里云RDS SQL Server方案中,我们实现了如何将用户线下或者ECS上自建的SQL Server实例中的一个用户数据库自动化迁移上云到RDS SQL Server,话句话说,它实现的是数据库级别的迁移上云方案,即每次迁移上云用户线下一个数据库。

    但是,有的用户可能会遇到这样的场景,我的线下有几十上百SQL Server实例,每个实例又有几十上百个数据库,总共就有成千上万个数据库迁移上云。如果是数据库级别的迁移上云方案显得力不从心,效率低下。为了解决用户大批量数据库迁移上云RDS for SQL Server,简化上云操作步骤,提高上云效率,实例级别数据库上云RDS SQL Server是我们迫切需要解决场景。

    实现分析

    由于在前一个月分享的RDS SDK实现数据库迁移上阿里云RDS SQL Server中,我们已经实现了单个数据库迁移上云方法,因此实现实例级别的迁移上云我们可以采用如下方案:

    将用户线下实例上所有的数据库全量备份文件上传到OSS的一个文件夹中

    遍历OSS上该文件夹所有的数据库备份文件

    每一个备份文件生成一个迁移上云任务

    输入参数

    基于以上的分析,我们的实现方法需要包含如下六个输入参数,以及这六个输入参数的解析参见下表:

    具体实现

    准备工作

    参见上一个月的月报分享MSSQL · 最佳实践 · RDS SDK实现数据库迁移上阿里云RDS SQL Server中的准备工作部分。

    代码实现

    在本文,我们使用python版RDS SDK实现数据库迁移上云RDS SQL Server,当然你也可以使用C#版、Java版等其他版本,详细的代码实现如下:

    当然,以上代码,你也可以去下载以上python脚本。

    使用方法

    我们从以下三个方面简要介绍下如何使用实例级别一键迁移上云:

    查看Help

    一个例子

    输出结果

    查看Help

    你只需要使用-h来查看脚本的使用方法:

    一个例子

    以下是一个具体的例子:

    输出结果

    执行以上命令以后的结果输出,分为两个部分:

    第一部分输入参数:展示所有你的输入参数,以便查询输入错误

    第二部分提示信息:告诉你,哪一个备份文件会被迁移到哪个实例的哪一个数据库 如下的一个实例的输出信息:

    最后总结

    利用本篇文章,我们可以轻松实现用户线下或者ECS自建的SQL Server实例级别数据库一键迁移上云,以此来极大的提高迁移上云效率,简化操作,大大提升了用户迁移上云体验。

    本文作者:db匠

    阅读原文

    本文为云栖社区原创内容,未经允许不得转载。

    相关文章

      网友评论

        本文标题:最佳实践 · 实例级别数据库上云RDS SQL Server

        本文链接:https://www.haomeiwen.com/subject/oacubftx.html