这篇文章教会你:从 SQL Server 移植到 DM(上)

简介: 这篇文章教会你:从 SQL Server 移植到 DM(上)

一、概述

DM 数据库和 SQL Server 结构存在差异,TSQL 语法也存在差异,DM 数据库针对 SQL Server 做了良好的兼容性适配。从 SQL Server 迁移到 DM 数据库,DM 数据库提供多样的迁移工具,本文主要介绍 SQL Server 移植到达梦数据库的具体步骤、移植过程中的注意点及常见适配问题,供用户参考。

二、迁移流程

2.1 迁移流程图

2.2 流程介绍

2.2.1 需求确认

移植会涉及诸多场景,如容灾备份、应用改造/替代、数据库版本升级/回退、数据库替代、业务分流等,不同的场景在数据流向、停机窗口、同步需求、数据处理等方面会有不同的需求,需要针对性的选择迁移工具和方案。

2.2.2 数据库调研

考虑迁移工具版本、驱动版本、基础环境、操作方式、对象个数、对象大小、数据量等均会影响迁移工作的开展,需要对源端和目的端数据库及服务器、业务系统进行调研,确保在满足相关需求的前提下稳定完成迁移。  

确认迁移需求后,源端数据库需提前调研如下信息:

  1. 环境信息。提前了解操作系统层面,确定工具能否使用可视化界面,或者端口号开放情况,可以方便在后期部署安装过程中,及时避开处理问题时的一些干扰项。主要包括对服务器、内存、CPU、网络、端口、安全策略、是否具备可视化界面等信息的调研。
  2. 业务系统信息。提前了解应用系统层面信息,结合应用系统特性,为后面制定迁移策略、迁移时间评估等提供参考。主要包括对业务类型、业务运行时段、停机窗口、数据量、数据增量、并发访问量等信息的调研。
  3. 数据库信息。提前了解迁移数据量、字符编码、归档保留、数据库对象、表空间等信息,为后续迁移做好规划和相关准备工作。
2.2.3 迁移评估

达梦提供了两种工具进行迁移评估:

数据迁移工具 DTS:提供了异构数据源之间的评估,迁移和对比功能。DM 数据迁移工具采用向导方式引导用户通过简单的步骤完成需要的操作。

达梦企业管理器 DEM:支持对 ORACLE、MySQL、SQL Server 等主流数据库迁移到达梦数据库进行在线采集评估和自动转化,并提供兼容报告。

除此之外,需要人工对大表、大字段表是否单独迁移进行评估及确定如何配置大表、大字段表的迁移策略。

2.2.4 移植工具选择

达梦公司提供了三种移植工具:数据迁移工具 DTS、数据复制软件 DMDRS 和数据集成软件 DMDIS,可满足不同移植场景的使用需求,详细内容参考移植工具介绍。

2.2.5 制定移植计划

根据需求分析和数据库调研,结合每个应用系统的具体要求,选择合适的迁移工具,基于数据迁移的基本原则和迁移工具评估结果,制定合理的移植计划避免任何可能遗漏的步骤,保障迁移工作的稳定实施。

2.2.6 移植实施

对于异构数据库移植到达梦,在正式迁移前,需要根据源端数据库的相关调研信息,对目的库的实例、表空间、用户等进行配置,以提高数据库间的兼容性,保障后续移植工作稳定进行。同时,达梦数据库的迁移工具均具有自动转换功能。大多数情况下,可通过相关迁移工具进行对象和数据移植,但由于异构数据库间语法并非 100% 兼容,少量数据则需要进行手动移植。

2.2.7 移植结果校验

在进行正式环境的数据移植时,每一条数据都是真实的,有效的且完整的,在迁移完成后,必须要源端数据库的所有对象都准确无误的迁移到目的端,一旦出现缺少对象、缺少数据和数据内容不正确的情况,可能会导致历史记录缺少,甚至某些功能模块失效等严重后果。因此在迁移完成后,需要确认是否存在迁移后的数据量、数据内容和对象个数与源库不一致的问题,如果不一致应进行对应的维护。

2.2.8 移植后收尾工作

移植后的收尾工作包括:索引补录、更新统计信息、备份、整理对象脚本等内容,保障移植工作的完整性。

2.2.9 应用移植与优化

一般情况下,源端数据库迁移完成后,直接修改应用连接到达梦数据库。为了验证系统移植的完整性,还需要进行应用的相关功能和性能测试,并改造应用到连接达梦数据库的最佳状态。

此外,在对应用系统进行全面测试后,排除移植过程中错误的地方,还应对数据库中的慢 SQL 进行优化,保证移植后的系统高效运行。

相关文章
|
12月前
|
SQL 关系型数据库 Java
SQL 移植--SPL 轻量级多源混算实践 7
不同数据库的 SQL 语法存在差异,尤其是函数写法不同,导致 SQL 移植困难。SPL 提供 sqltranslate 函数,可将标准 SQL 转换为特定数据库语法,实现 SQL 语句在不同数据库间的无缝迁移,支持多种数据库函数映射与自定义扩展。
|
SQL Oracle Java
怎样写出可在各种数据库间移植的SQL
国际标准没有对这些函数做规定,这种 SQL 语句就会和数据库相关而无法移植了,而这些函数在应用开发中还特别常见。 Hibernate 能将包括这些函数的标准 HQL 语句转换成不同数据库的 SQL,但 HQL 支持的函数太少,碰到不认识的函数还是要分别注册,这就丧失了可移植性;而且 HQL 能生成的 SQL 本身也比较简单,覆盖面太窄了。
|
SQL 关系型数据库 MySQL
MySql SQL 脚本的可移植性,MySql 可以执行的注释代码
MySql SQL 脚本的可移植性,MySql 可以执行的注释代码
352 0
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 安全 Java
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
2030 0
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
418 6
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
718 9
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
1025 13
|
SQL 监控 数据库
SQL Server 查询超时问题排查
【7月更文挑战第8天】排查 SQL Server 查询超时涉及五个主要方面:检查复杂查询、评估服务器性能、审视配置参数、更新统计信息和分析执行计划。关注点包括查询的结构(如连接、子查询和索引),服务器资源(CPU、内存、网络延迟),连接和内存设置,以及统计信息的时效性。通过这些步骤可定位并解决性能瓶颈。
828 0
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
1511 1