RDS for SQL Serve使用OSS备份文件增量上云示例

本文涉及的产品
对象存储 OSS,20GB 3个月
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 今天这篇文章主要给大家分享基于OSS的增量上云到RDS SQL Server的这样一个功能。这个功能主要适用于以下三个场景: 一、用户希望基于备份文件物理迁移上云RDS SQL Server,而不是逻辑迁移。

今天这篇文章主要给大家分享基于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在背后做的一些事情。

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

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

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

更多信息参见:云数据库 RDS 版


原文地址:https://aliyunnew.com/a/How-RDS-for-SQL-Server-Incrementally-Cloud-Up-Using-OSS-Backup-Files.html

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
2月前
|
SQL 存储 API
Flink实践:通过Flink SQL进行SFTP文件的读写操作
虽然 Apache Flink 与 SFTP 之间的直接交互存在一定的限制,但通过一些创造性的方法和技术,我们仍然可以有效地实现对 SFTP 文件的读写操作。这既展现了 Flink 在处理复杂数据场景中的强大能力,也体现了软件工程中常见的问题解决思路——即通过现有工具和一定的间接方法来克服技术障碍。通过这种方式,Flink SQL 成为了处理各种数据源,包括 SFTP 文件,在内的强大工具。
167 15
|
1月前
|
SQL 关系型数据库 MySQL
数据库导入SQL文件:全面解析与操作指南
在数据库管理中,将SQL文件导入数据库是一个常见且重要的操作。无论是迁移数据、恢复备份,还是测试和开发环境搭建,掌握如何正确导入SQL文件都至关重要。本文将详细介绍数据库导入SQL文件的全过程,包括准备工作、操作步骤以及常见问题解决方案,旨在为数据库管理员和开发者提供全面的操作指南。一、准备工作在导
251 0
|
1月前
|
SQL 数据库
DBeaver执行sql文件
本文介绍了DBeaver这款支持多种数据库的通用数据库管理工具和SQL客户端,它具备查看数据库结构、执行SQL查询和脚本、浏览和导出数据等功能。
91 1
DBeaver执行sql文件
|
1月前
|
SQL 关系型数据库 MySQL
|
1月前
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
1月前
|
SQL 存储 关系型数据库
SQL文件导入MySQL数据库的详细指南
数据库中的数据转移是一项常规任务,无论是在数据迁移过程中,还是在数据备份、还原场景中,导入导出SQL文件显得尤为重要。特别是在使用MySQL数据库时,如何将SQL文件导入数据库是一项基本技能。本文将详细介绍如何将SQL文件导入MySQL数据库,并提供一个清晰、完整的步骤指南。这篇文章的内容字数大约在
167 1
|
1月前
|
SQL 数据库
为什么SQL日志文件很大,该如何处理?
为什么SQL日志文件很大,该如何处理?
|
2月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
45 1
|
3月前
|
SQL 存储 数据库
SQL Server 中的备份类型详解
【8月更文挑战第31天】
70 0
|
3月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
58 0
下一篇
无影云桌面