RDS for SQL Serve使用OSS备份文件增量上云过程

本文涉及的产品
对象存储 OSS,20GB 3个月
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介:


今天主要分享基于OSS的增量上云到RDS SQL Server的功能。适用以下三个场景:


一、基于备份文件物理迁移上云RDS SQL Server,而不是逻辑迁移。物理迁移是指基于文件的迁移;逻辑迁移是指将数据生成DML语句映射到RDS SQL Server上。


二、迁移上云RDS SQL Server后数据库和线下的数据库100%的保持一致。这句话可以这样理解,如果用户使用的是逻辑迁移,那么是无法做到100%保持一致的。比如用户生成的DML语句插入到RDS SQL Server上来以后,可能会导致索引碎片率和统计信息等和用户的线下数据库不同,这样一来上云以后的应用可能会有一些性能问题。


三、业务对停机时间非常敏感,迁移到RDS SQL Server的过程,需要控制在分钟级别。


以上就是三个比较典型的使用增量上云的场景。


下面看一下增量上云的具体流程。


image


上图是用户把线下数据库增量上云到RDS SQL Server的流程图。从这个图中可以看到它实际上包含了四个方面:第一个方面是用户的线下数据库,这个是用户要参与进来;第二个方面是OSS Bucket;第三个方面是RDS控制台;第四个就是RDS SQL Server做的事情。


点我领取阿里云2000元代金券,(阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。

首先看这个流程图最开始的部分,用户需要做一些准备工作。比如,用户需要先做一个DBCC Check DB来保证用户的数据库没有数据一致性的问题;第二个准备工作是,用户需要把自己的本地备份系统关闭。如果本地备份系统没有关闭,备份系统可能会自动做一些备份操作,可能会导致用户导入到RDS的这些备份文件不全,从而导致上云失败;第三个准备工作是,用户需要把数据库修改为FULL模式,这个非常重要。


这些准备工作完成以后,用户需要对自己的线下数据库做一个完全备份,就是一个Full Backup。完全备份做完之后就上传到OSS。上传完之后,通过RDS控制台生成一个基于这个完全备份文件的任务流。任务流生成之后,RDS SQL Server就会在背后做一些还原操作。这个动作做完成以后,RDS SQL Server会继续等待后续的备份文件,例如差异备份或者是日志备份,如果有就可以继续上传,上传最后一个差异文件前一定要停止本地数据的写入,这样才能保证本地数据库的数据和RDS上的数据是一致的,完成以后用户就可以打开数据库访问了;如果没有差异备份或者是日志备份,用户就可以直接通过RDS控制台打开数据库了。打开以后,用户就可以访问了。到这里,整个流程就结束了。


从分析这个流程图可以看出,只有在上传最后一个差异文件之前停止了数据写入。也就是说在整个用户上云的过程中,只会在停止数据写入以后到最后一个日志或是差异备份文件上传完成之前的这段时间,应用是不可用的。那么就可以通过控制最后一个差异或者日志备份文件的大小来控制停机时间。比如如果这个文件大小在500M左右的话,那么整个上云的流程中,应用的停机时间就会非常短,可以控制到分钟级别。
更多参阅云数据库 RDS 版


点我领取阿里云2000元代金券,(阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
2月前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
160 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
27天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
28天前
|
安全 关系型数据库 MySQL
解决MySQL删除/var/lib/mysql下的所有文件后无法启动的问题
删除 `/var/lib/mysql` 下的所有文件后,需要重新初始化数据目录,确保正确的权限设置,并重新启动 MySQL 服务。通过按照上述步骤操作,可以解决 MySQL 无法启动的问题,并恢复数据库的正常运行。初始化数据目录后,别忘了配置安全设置,并根据需要恢复备份数据。这些步骤不仅能够恢复 MySQL 的正常运行,还能确保数据库的安全性和完整性。
40 2
|
1月前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
2月前
|
关系型数据库 MySQL 数据库
【赵渝强老师】MySQL的参数文件
MySQL启动时会读取配置文件my.cnf来确定数据库文件位置及初始化参数。该文件分为Server和Client两部分,包含动态与静态参数。动态参数可在运行中通过命令修改,而静态参数需修改my.cnf并重启服务生效。文中还提供了相关代码示例和视频教程。
|
2月前
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL的全量日志文件
MySQL全量日志记录所有操作的SQL语句,默认禁用。启用后,可通过`show variables like %general_log%检查状态,使用`set global general_log=ON`临时开启,执行查询并查看日志文件以追踪SQL执行详情。
|
2月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
138 3
|
2月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
59 3
|
3月前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
48 2
|
3月前
|
SQL 存储 关系型数据库
SQL文件导入MySQL数据库的详细指南
数据库中的数据转移是一项常规任务,无论是在数据迁移过程中,还是在数据备份、还原场景中,导入导出SQL文件显得尤为重要。特别是在使用MySQL数据库时,如何将SQL文件导入数据库是一项基本技能。本文将详细介绍如何将SQL文件导入MySQL数据库,并提供一个清晰、完整的步骤指南。这篇文章的内容字数大约在
414 1