【云小课】【第49课】本地Microsoft SQL Server备份迁移至华为云RDS for SQL Server实例—上篇
1. 场景介绍
由于安全原因,数据库的IP地址有时不能暴露在公网上,但是选择专线网络进行数据库迁移,成本又高。这种情况下,您可以选用数据复制服务提供的备份迁移,通过将本地Microsoft SQL Server数据库的备份文件上传至对象存储服务,然后恢复到目标数据库。备份迁移可以帮助您在云服务不触碰源数据库的情况下,实现数据迁移。
数据复制服务的备份迁移功能支持全量和全量+增量场景的数据库迁移,本示例以全量+增量场景为例,介绍如何进行备份迁移。
全量+增量备份迁移
该场景为数据持续性迁移,需要在完成全量备份恢复的基础上,通过多次增量备份文件恢复,实现迁移过程中业务中断的最小化。一次典型的增量恢复过程,会涉及多次恢复增量备份。每个增量备份恢复均会使目标数据库保持还原中状态,此时数据库不可读写,直至最后一个增量备份恢复完成后,数据库才能变成可用状态。
2. 迁移准备
本小节介绍通过数据复制服务进行备份迁移前的准备工作。在正式使用数据复制服务之前,请先阅读以确保您已完成创建备份迁移任务所需的各项准备工作。更多使用须知可参见 “使用须知”章节。
目标数据库准备
已有RDS for SQL Server数据库实例,如果没有,请参考《关系型数据库用户指南》中的“购买实例”章节,创建RDS实例。目标数据库的可用磁盘空间至少为待还原数据库总数据量大小的1.5倍。
源数据库恢复模式设置
- 仅进行全量备份迁移时,对数据库的恢复模式没有要求。
- 进行全量+增量备份迁移时,数据库备份文件的恢复模式需要设置为“完整”。具体操作方法如下:
方法一:通过Microsoft SQL Server Management Studio 数据库管理软件登录到本地数据库中心,选择需要迁移的数据库,单击鼠标右键,选择“属性”,选择“选项 > 恢复模式”,将恢复模式设置为“完整”即可。
方法二:使用如下SQL命令的方式进行设置。
USE master;
ALTER DATABASE database_name SET RECOVERY FULL;
迁移时间的评估参考
一次完整的备份迁移主要经历以下4个阶段。
阶段 |
名称 |
描述 |
① |
导出数据库备份文件 |
该阶段主要耗时为生成数据库备份文件所需的时间,通常取决于源数据库的配置,需要您根据源数据库的配置进行预估。 |
② |
上传备份文件至OBS桶 |
OBS对象存储不限速,如果您是通过公网访问OBS对象存储时,上传下载速度受公网带宽限制。例如:公网带宽为10MB/s时,在没有其他因素影响网络的情况下,则上传的速度为10MB/s。 |
③ |
通过DRS下载备份文件至目标端RDS for SQL Server |
一般情况下,下载速度约为:100MB/s或者300GB/h。 |
④ |
将源数据库的备份文件恢复至目标数据库 |
从经验值来讲,一般的恢复速度约为5GB/min或者300GB/h。 |
合计总耗时 |
总耗时=阶段①耗时+阶段②耗时+阶段③耗时+阶段④耗时 业务中断时长= 业务停机->进行最后一次增量备份->上传OBS->创建DRS任务恢复 |
3. 导出数据库备份文件
本小节介绍了数据库全量备份文件和事务日志(增量)备份文件的导出方法。
步骤一:检查本地数据库参数配置。
步骤二:由于数据库存在日志截断和收缩配置,在导出全量备份文件前,需要将数据库恢复模式配置成“完整”模式,且一直保持到整个数据库完全迁移到本云数据库实例和业务切割后,才能修改。
该操作为全量+增量迁移的必操作项,仅进行全量迁移时,可以跳过该步骤。
- 通过Microsoft SQL Server Management Studio 数据库管理软件登录到本地数据库中心。
- 选择需要迁移的数据库,单击鼠标右键,选择“属性”,在属性弹出框左边列表选择“选项”。
- 在“恢复模式”下拉菜单中选择“完整”,单击“确定”。
步骤三:配置备份文件压缩参数,该操作为可选操作。
如果客户本地数据中心带宽不高,OBS Browser上传时间比较久,建议配置备份文件压缩参数。
- 使用数据库管理员帐号,通过Microsoft SQL Server Management Studio 数据库管理软件登录到数据库中心。
- 在对象资源管理器中,右键单击服务器并选择 “属性”。
- 单击 “数据库设置” 。
- 在“备份和还原” 下,勾选“压缩备份” 。
该设置确定压缩备份的服务器级默认设置,具体如下:
- 如果未勾选 “压缩备份” ,在默认情况下将不会压缩新备份。
- 如果 已勾选“压缩备份” ,则默认情况下将压缩新备份。
步骤四:导出全量备份文件。
- 通过Microsoft SQL Server Management Studio 数据库管理软件登录到本地数据库中心。
- 选择需要迁移的数据库,单击鼠标右键,选择“任务>备份”。
- 备份类型选择“完整”,单击“添加”,填写备份文件输出路径,注意后缀名为.bak。
建议备份文件名称和数据库名称保持一致(区分大小写),同时加上“.bak”后缀。建议将所有的数据库备份在一个bak文件里或者少量的bak文件里,这样可以减少频繁的上传与恢复,实现打包上传和打包恢复的效果。
步骤五:导出增量备份文件。
- 通过Microsoft SQL Server Management Studio 数据库管理软件登录到本地数据库中心。
- 选择需要迁移的数据库,单击鼠标右键,选择“任务>备份”。
- 备份类型选择“完整”,单击“添加”,填写备份文件输出路径,注意后缀名为.bak。
- 建议备份文件名称和数据库名称保持一致(区分大小写),同时加上时间戳和“.bak”后缀,例如:[数据库名]_Incr_[时间戳].bak。
- 建议将所有的数据库备份在一个bak文件里或者少量的bak文件里,这样可以减少频繁的上传与恢复,实现打包上传和打包恢复的效果。例如:可以将A、B、C三个数据库备份到一个bak文件中,整体进行打包上传和恢复,这样有助于提高数据恢复的成功率。
4. 上传备份文件
本小节介绍了上传备份文件的方法。
步骤一:创建OBS桶,并将备份文件上传OBS桶。
- 如果单次上传文件不大于5GB时,可以登录OBS控制台创建OBS自建桶,存储类别选择“标准存储”,桶策略选择“公共读”。
- 如果批量上传多个文件(单次最多支持100个文件同时上传,总大小不超过5GB),或单次上传文件大于5GB时,需要下载并安装OBS Browser+客户端,支持大文件断点续传功能。相关操作请参见《对象存储服务客户端指南》。
此时建议备份文件放置于同区域且独立的公共桶,混用其他公共桶可能会因为其他文件过多,而无法展示迁移备份文件。
上传备份文件之前,创建用户的Access Key ID和Secret Access Key,参考创建访问密钥(AK 和SK)。
上传备份文件时,OBS文档模式需要选择“标准存储”。
- 目前Microsoft SQL Server只支持后缀为.bak的文件,且不支持高版本恢复到低版本。
- 建议备份文件放置于同区域且独立的公共桶,混用其他公共桶可能会因为其他文件过多,而无法展示迁移备份文件。
- 登录OBS管理控制台,相关操作请参见登录OBS管理控制台。
- 创建OBS自建桶,相关操作请参见添加桶。
- 将导出的数据库备份文件上传至OBS桶内,相关操作请参见上传文件。
如何创建全量+增量备份迁移任务并手动配置信息,请参见【第50课】本地Microsoft SQL Server备份迁移至华为云RDS for SQL Server实例—下篇
- 点赞
- 收藏
- 关注作者
评论(0)