加入收藏 | 设为首页 | 会员中心 | 我要投稿 无锡站长网 (https://www.0510zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

5分钟搞定 SQL Server 到 MySQL 数据迁移和同步

发布时间:2023-01-08 13:01:48 所属栏目:MsSql教程 来源:未知
导读: 简述
SQL Server 是一个值得信赖的老牌数据库系统,自从 1988 年由 Microsoft、Sybase 和 Ashton-Tate 三家公司共同推出之后就一直不断迭代更新。而如今我们提到 SQL Server 通常是指 Micr

简述

SQL Server 是一个值得信赖的老牌数据库系统,自从 1988 年由 Microsoft、Sybase 和 Ashton-Tate 三家公司共同推出之后就一直不断迭代更新。而如今我们提到 SQL Server 通常是指 Microsoft 从 SQL Server 2000 之后的版本。至今 SQL Server 家族已经非常繁茂涵盖了 云上(Azure SQL Server)、IoT 设备(边缘 SQL Server)、以及经典版本(本地 SQL Server)。

实现 SQL Server 作为源端的实时数据同步,一般都会用到它的 CDC 功能,这个功能是从 2008 版本才开始支持。因此本文主要也是基于 SQL Server 2008 版本介绍如何使用 CloudCanal 快速构建一条稳定高效运行的 SQL Server 到 MySQL 数据同步链路。

技术点基于 SQL Server 的 CDC

mssql 大文件导入txt_imp全库导入_mssql数据库导入

SQL Server 将用户的每一个数据操作都记录在后缀为 ldf 日志文件中。这些日志会保存在 ldf 文件中。当数据库启用 CDC 能力后,SQL Server 代理上会生成一个专门分析ldf文件的作业,再将具体的表启用 CDC, 则该作业开始持续分析文件中的变更事件到指定的表中。

作业执行用到 SQL Server 代理mssql数据库导入,该组件如果处于非启动状态,则生成任何可消费的变更数据。通常,我们可以在 Windows 对象资源管理器中查看是否已经开启了 SQL Server 代理。

imp全库导入_mssql 大文件导入txt_mssql数据库导入

由于 SQL Server 执行作业时无法设置起始位置,因此对于一个表的变更记录我们最早只能追溯到表启用 CDC 的那个时间点。具体的起始位点可以在 “cdc.change_tables” 表中查询得到。

还需要注意的另外一个细节是 CDC 表也是一张普通的表它和用户共享同一个数据空间。为了防止 CDC 表数据无限膨胀 SQL Server 会每天定时执行清理作业,清理过期的数据(具体时间视数据库配置而定)。

SQL Server -> MySQL 的数据类型支持

CloudCanal 从 2021 年开始支持 SQL Server 同步后就不断地丰富它的对端数据源,支持 SQL Server 到 MySQL 是一个非常重要的同步链路。目前 CloudCanal 已经可以支持的类型和映射关系如下:

操作示例前置条件

mssql 大文件导入txt_mssql数据库导入_imp全库导入

imp全库导入_mssql数据库导入_mssql 大文件导入txt

mssql 大文件导入txt_imp全库导入_mssql数据库导入

imp全库导入_mssql 大文件导入txt_mssql数据库导入

imp全库导入_mssql 大文件导入txt_mssql数据库导入

imp全库导入_mssql 大文件导入txt_mssql数据库导入

mssql 大文件导入txt_mssql数据库导入_imp全库导入

mssql数据库导入_mssql 大文件导入txt_imp全库导入

校验数据

mssql 大文件导入txt_mssql数据库导入_imp全库导入

mssql数据库导入_imp全库导入_mssql 大文件导入txt

常见问题支持什么版本的 SQL Server 和 MySQL ?

(编辑:无锡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!