合 本地Microsoft SQL Server备份迁移至华为云RDS for SQL Server实例
Tags: SQL Server数据库迁移
场景介绍
由于安全原因,数据库的IP地址有时不能暴露在公网上,但是选择专线网络进行数据库迁移,成本又高。这种情况下,您可以选用数据复制服务提供的备份迁移,通过将本地Microsoft SQL Server数据库的备份文件上传至对象存储服务,然后恢复到目标数据库。备份迁移可以帮助您在云服务不触碰源数据库的情况下,实现数据迁移。
数据复制服务的备份迁移功能支持全量和全量+增量场景的数据库迁移。
场景一:全量备份迁移
该场景为一次性数据库迁移,需要停止业务,将导出的Microsoft SQL Server全量备份文件上传至对象存储服务,然后恢复到目标数据库。
场景二:全量+增量备份迁移
该场景为数据持续性迁移,需要在完成全量备份恢复的基础上,通过多次增量备份文件恢复,实现迁移过程中业务中断的最小化。一次典型的增量恢复过程,会涉及多次恢复增量备份。每个增量备份恢复均会使目标数据库保持还原中状态,此时数据库不可读写,直至最后一个增量备份恢复完成后,数据库才能变成可用状态。
迁移准备
本小节介绍通过数据复制服务进行备份迁移前的准备工作。在正式使用数据复制服务之前,请先阅读以确保您已完成创建备份迁移任务所需的各项准备工作。
备份文件准备
请参见《数据复制服务备份迁移》中各方案下的“使用须知”章节。
数据库恢复模式设置
仅进行全量备份迁移时,对数据库的恢复模式没有要求。
进行全量+增量备份迁移时,数据库备份文件的恢复模式需要设置为
“完整”
。具体操作方法如下:
方法一:通过Microsoft SQL Server Management Studio 数据库管理软件登录到本地数据库中心,选择需要迁移的数据库,单击鼠标右键,选择“属性”,选择“选项 > 恢复模式”,将恢复模式设置为“完整”即可。
方法二:使用如下SQL命令的方式进行设置。
12USE master;ALTER DATABASE database_name SET RECOVERY FULL;
目标数据库磁盘要求
目标数据库的可用磁盘空间至少为待还原数据库总数据量大小的1.5倍。
迁移时间的评估参考
一次完整的备份迁移主要经历以下4个阶段。
阶段 | 名称 | 描述 |
---|---|---|
① | 导出数据库备份文件 | 该阶段主要耗时为生成数据库备份文件所需的时间,通常取决于源数据库的配置,需要您根据源数据库的配置进行预估。 |
② | 上传备份文件至OBS桶 | OBS对象存储不限速,如果您是通过公网访问OBS对象存储时,上传下载速度受公网带宽限制。例如:公网带宽为10MB/s时,在没有其他因素影响网络的情况下,则上传的速度为10MB/s。 |
③ | 通过DRS下载备份文件至目标端RDS for SQL Server | 一般情况下,下载速度约为:100MB/s或者300GB/h。 |
④ | 将源数据库的备份文件恢复至目标数据库 | 从经验值来讲,一般的恢复速度约为5GB/min或者300GB/h。 |
合计总耗时 | 总耗时=阶段①耗时+阶段②耗时+阶段③耗时+阶段④耗时业务中断时长= 业务停机->进行最后一次增量备份->上传OBS->创建DRS任务恢复 |
下面将以一个示例说明备份迁移的完整过程的耗时,可以帮助您提前预估迁移时间,实际的耗时与用户端的网络,数据库配置等情况有关,需以实际情况为准,表格数据仅供参考。
示例:
阶段 | 名称 | 备份文件大小**(G)** | 耗时**(h)** |
---|---|---|---|
① | 导出数据库备份文件 | 283 | 5.5 |
② | 上传备份文件至OBS桶 | 283 | 8.95 |
③ | 通过DRS下载备份文件 | 283 | 0.61 |
④ | 备份文件恢复到目标库 | 283 | 2.24 |
合计总耗时 | 17.3 |
导出数据库备份文件
本小节介绍了数据库全量备份文件和事务日志(增量)备份文件的导出方法。
检查本地数据库参数配置。
说明:
该操作为全量+增量迁移的必操作项,仅进行全量迁移时,可以跳过该步骤。
由于数据库存在日志截断和收缩配置,在导出全量备份文件前,需要将数据库恢复模式配置成“完整”模式,且一直保持到整个数据库完全迁移到本云数据库实例和业务切割后,才能修改。
配置备份文件压缩参数,该操作为可选操作。
如果客户本地数据中心带宽不高,OBS Browser上传时间比较久,建议配置备份文件压缩参数。
使用数据库管理员帐号,通过Microsoft SQL Server Management Studio 数据库管理软件登录到数据库中心。
在对象资源管理器中,右键单击服务器并选择 “属性”。
单击 “数据库设置” 。
在“备份和还原” 下,勾选“压缩备份” 。
该设置确定压缩备份的服务器级默认设置,具体如下:
如果未勾选 “压缩备份” ,在默认情况下将不会压缩新备份。
如果 已勾选“压缩备份” ,则默认情况下将压缩新备份。
本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!