【云小课】【第49课】本地Microsoft SQL Server备份迁移至华为云RDS for SQL Server实例—上篇

举报
数据库的小云妹 发表于 2022/06/13 15:59:05 2022/06/13
【摘要】 1. 场景介绍由于安全原因,数据库的IP地址有时不能暴露在公网上,但是选择专线网络进行数据库迁移,成本又高。这种情况下,您可以选用数据复制服务提供的备份迁移,通过将本地Microsoft SQL Server数据库的备份文件上传至对象存储服务,然后恢复到目标数据库。备份迁移可以帮助您在云服务不触碰源数据库的情况下,实现数据迁移。数据复制服务的备份迁移功能支持全量和全量+增量场景的数据库迁移,...

云小课必用.png

1. 场景介绍

由于安全原因,数据库的IP地址有时不能暴露在公网上,但是选择专线网络进行数据库迁移,成本又高。这种情况下,您可以选用数据复制服务提供的备份迁移,通过将本地Microsoft SQL Server数据库的备份文件上传至对象存储服务,然后恢复到目标数据库。备份迁移可以帮助您在云服务不触碰源数据库的情况下,实现数据迁移。

数据复制服务的备份迁移功能支持全量和全量+增量场景的数据库迁移,本示例以全量+增量场景为例,介绍如何进行备份迁移。

全量+增量备份迁移

1.png

该场景为数据持续性迁移,需要在完成全量备份恢复的基础上,通过多次增量备份文件恢复,实现迁移过程中业务中断的最小化。一次典型的增量恢复过程,会涉及多次恢复增量备份。每个增量备份恢复均会使目标数据库保持还原中状态,此时数据库不可读写,直至最后一个增量备份恢复完成后,数据库才能变成可用状态。

2. 迁移准备

本小节介绍通过数据复制服务进行备份迁移前的准备工作。在正式使用数据复制服务之前,请先阅读以确保您已完成创建备份迁移任务所需的各项准备工作。更多使用须知可参见 “使用须知”章节。

目标数据库准备

已有RDS for SQL Server数据库实例,如果没有,请参考《关系型数据库用户指南》中的“购买实例”章节,创建RDS实例。目标数据库的可用磁盘空间至少为待还原数据库总数据量大小的1.5倍。

源数据库恢复模式设置

  • 仅进行全量备份迁移时,对数据库的恢复模式没有要求。
  • 进行全量+增量备份迁移时,数据库备份文件的恢复模式需要设置为“完整”。具体操作方法如下:

方法一:通过Microsoft SQL Server Management Studio 数据库管理软件登录到本地数据库中心,选择需要迁移的数据库,单击鼠标右键,选择“属性”,选择“选项 > 恢复模式”,将恢复模式设置为“完整”即可。

2.png

方法二:使用如下SQL命令的方式进行设置。

USE master;   
ALTER DATABASE database_name SET RECOVERY FULL;

迁移时间的评估参考

一次完整的备份迁移主要经历以下4个阶段。

3.png

阶段

名称

描述

导出数据库备份文件

该阶段主要耗时为生成数据库备份文件所需的时间,通常取决于源数据库的配置,需要您根据源数据库的配置进行预估。

上传备份文件至OBS

OBS对象存储不限速,如果您是通过公网访问OBS对象存储时,上传下载速度受公网带宽限制。例如:公网带宽为10MB/s时,在没有其他因素影响网络的情况下,则上传的速度为10MB/s

通过DRS下载备份文件至目标端RDS for SQL Server

一般情况下,下载速度约为:100MB/s或者300GB/h

将源数据库的备份文件恢复至目标数据库

从经验值来讲,一般的恢复速度约为5GB/min或者300GB/h

合计总耗时

总耗时=阶段①耗时+阶段②耗时+阶段③耗时+阶段④耗时

业务中断时长业务停机->进行最后一次增量备份->上传OBS->创建DRS任务恢复


3. 导出数据库备份文件

本小节介绍了数据库全量备份文件和事务日志(增量)备份文件的导出方法。

步骤一:检查本地数据库参数配置。

步骤二:由于数据库存在日志截断和收缩配置,在导出全量备份文件前,需要将数据库恢复模式配置成“完整”模式,且一直保持到整个数据库完全迁移到本云数据库实例和业务切割后,才能修改。


4.png

该操作为全量+增量迁移的必操作项,仅进行全量迁移时,可以跳过该步骤。


  1. 通过Microsoft SQL Server Management Studio 数据库管理软件登录到本地数据库中心。
  2. 选择需要迁移的数据库,单击鼠标右键,选择“属性”,在属性弹出框左边列表选择“选项”。
  3. 在“恢复模式”下拉菜单中选择“完整”,单击“确定”。5.png

步骤三:配置备份文件压缩参数,该操作为可选操作。

如果客户本地数据中心带宽不高,OBS Browser上传时间比较久,建议配置备份文件压缩参数。

  1. 使用数据库管理员帐号,通过Microsoft SQL Server Management Studio 数据库管理软件登录到数据库中心。
  2. 在对象资源管理器中,右键单击服务器并选择 “属性”。
  3. 单击 数据库设置 
  4. 在“备份和还原” 下,勾选“压缩备份” 。

          该设置确定压缩备份的服务器级默认设置,具体如下:

  • 如果未勾选 “压缩备份” ,在默认情况下将不会压缩新备份。
  • 如果 已勾选“压缩备份” ,则默认情况下将压缩新备份。

    6.png

步骤四:导出全量备份文件。

  1. 通过Microsoft SQL Server Management Studio 数据库管理软件登录到本地数据库中心。
  2. 选择需要迁移的数据库,单击鼠标右键,选择“任务>备份”。

    7.png

  3. 备份类型选择“完整”,单击“添加”,填写备份文件输出路径,注意后缀名为.bak。

    8.png


    4.png建议备份文件名称和数据库名称保持一致(区分大小写),同时加上“.bak”后缀建议将所有的数据库备份在一个bak文件里或者少量的bak文件里,这样可以减少频繁的上传与恢复,实现打包上传和打包恢复的效果。

步骤五:导出增量备份文件。

  1. 通过Microsoft SQL Server Management Studio 数据库管理软件登录到本地数据库中心。
  2. 选择需要迁移的数据库,单击鼠标右键,选择“任务>备份”。

    9.png

  3. 备份类型选择“完整”,单击“添加”,填写备份文件输出路径,注意后缀名为.bak。

    0.png


4.png

  • 建议备份文件名称和数据库名称保持一致(区分大小写),同时加上时间戳和“.bak”后缀,例如:[数据库名]_Incr_[时间戳].bak
  • 建议将所有的数据库备份在一个bak文件里或者少量的bak文件里,这样可以减少频繁的上传与恢复,实现打包上传和打包恢复的效果。例如:可以将A、B、C三个数据库备份到一个bak文件中,整体进行打包上传和恢复,这样有助于提高数据恢复的成功率。

4. 上传备份文件

本小节介绍了上传备份文件的方法。

步骤一:创建OBS桶,并将备份文件上传OBS桶。


4.png

  • 如果单次上传文件不大于5GB时,可以登录OBS控制台创建OBS自建桶,存储类别选择“标准存储”,桶策略选择“公共读”。
  • 如果批量上传多个文件(单次最多支持100个文件同时上传,总大小不超过5GB),或单次上传文件大于5GB时,需要下载并安装OBS Browser+客户端,支持大文件断点续传功能。相关操作请参见《对象存储服务客户端指南》。

          此时建议备份文件放置于同区域且独立的公共桶,混用其他公共桶可能会因为其他文件过多,而无法展示迁移备份文件。

          上传备份文件之前,创建用户的Access Key IDSecret Access Key,参考创建访问密钥(AK 和SK)

          上传备份文件时,OBS文档模式需要选择“标准存储”。

  • 目前Microsoft SQL Server只支持后缀为.bak的文件,且不支持高版本恢复到低版本。
  • 建议备份文件放置于同区域且独立的公共桶,混用其他公共桶可能会因为其他文件过多,而无法展示迁移备份文件。

  1. 登录OBS管理控制台,相关操作请参见登录OBS管理控制台
  2. 创建OBS自建桶,相关操作请参见添加桶
  3. 将导出的数据库备份文件上传至OBS桶内,相关操作请参见上传文件


如何创建全量+增量备份迁移任务并手动配置信息,请参见【第50课】本地Microsoft SQL Server备份迁移至华为云RDS for SQL Server实例—下篇

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。