SSMA for MySQL 中的新增功能(MySQLToSQL)

本文列出了每个版本的适用于 MySQL 的 SQL Server 迁移助手 (SSMA) 的更改。

注意

虽然 Microsoft Entra ID 是 Azure Active Directory (Azure AD) 的新名称,但为了防止中断现有环境,Azure AD 仍保留在一些硬编码的元素中,例如 UI 字段、连接提供程序、错误代码和 cmdlet。 在本文中,这两个名称可以互换。

SSMA v10.0

SSMA for MySQL 的 v10.0 版本包含轻微的性能改进、bug 修复和联机帮助查看器支持。

SSMA v9.5

SSMA for MySQL 的 v9.5 版本包含以下更改:

  • 在控制台模式下支持排除架构选项

SSMA v9.4

SSMA for MySQL 的 v9.4 版本包含以下更改:

  • 修复了大规模迁移过程中缺少订阅的问题。

SSMA v9.3

SSMA for MySQL 的 v9.3 版本包含以下更改:

  • 增加对 MySQL 8.x 的支持
  • 增加对常见表表达式的支持
  • 增加对 SQL Server 2022 (16.x) 目标的支持
  • 修复了 datetime 数据类型列迁移缺乏精度的问题

SSMA v9.2

SSMA for MySQL 的 v9.2 版本包含以下更改:

  • 增强了数据移动管道的大规模监控

SSMA v9.1

SSMA for MySQL 的 v9.1 版本包含以下更改:

  • 增加对从 MySQL 到 SQL 目标的大规模数据迁移的支持
  • 改进获取帮助的体验

SSMA v9.0

SSMA for MySQL 的 v9.0 版本包含轻微的性能改进、bug 修复和联机帮助查看器支持。

SSMA v8.24

SSMA for MySQL 的 v8.24 版本包含以下更改:

  • 增加对 YEAR 数据类型的支持
  • 改进注释样式的转换
  • 改进“Save As”语句的命名
  • 解决问题

SSMA v8.23

SSMA for MySQL 的 v8.23 版本包含以下更改:

  • 提供新选项“允许来自文件的语句”,用于从文件系统添加语句
  • 增强在控制台模式下运行时的 XML 输出
  • 报表中用于发送反馈的新反馈链接
  • 增强在报表中的可视化体验

SSMA v8.22

SSMA for MySQL 的 v8.22 版本包含以下更改:

  • 允许为目标数据库连接指定额外的连接字符串选项
  • 介绍了评估报告中的摘要图表
  • 改进了评估报告中的消息导航

SSMA v8.21

SSMA for MySQL 的 v8.21 版本包含以下更改:

  • 在目标数据库的行计数查询中使用 COUNT_BIG

SSMA v8.20

SSMA for MySQL 的 v8.20 版本包含以下更改:

  • 少许性能改进和 Bug 修复

SSMA v8.19

SSMA for MySQL 的 v8.19 版本包含以下更改:

  • 少许性能改进和 Bug 修复

SSMA v8.18

SSMA for MySQL 的 v8.18 版本包含以下更改:

  • 少许性能改进和 Bug 修复

SSMA v8.17

SSMA for MySQL 的 v8.17 版本包含以下更改:

  • 更新 HTML 评估报表,使用新式编辑器显示 SQL 文本

SSMA v8.16

SSMA for MySQL 的 v8.16 版本包含以下更改:

  • 增加对计算列的支持
  • 修复了在使用唯一约束和主键的情况下,转换 INSERT 语句时出现的问题
  • 更新分析器以支持 ANSI_QUOTESNO_BACKSLASH_ESCAPES 服务器模式
  • 取消对旧版分析器的支持
  • 修复了对象不从数据库刷新的问题

SSMA v8.15

除多项辅助功能改进之外,SSMA for MySQL 的 v8.15 版本还包含以下更改:

  • 更新在新式浏览器中使用的评估报表
  • 使用由数据库提供的颁发机构进行 Microsoft Entra/Azure AD 身份验证
  • 改进了从文件加载的语句的命名

SSMA v8.14

除了进行多项改进以确保残障人士能够更便利使用之外,SSMA for MySQL 的 v8.14 版本还需要项目升级,因为它现在将完整的源/目标服务器版本存储在项目元数据中。

SSMA v8.13

SSMA for MySQL 的 v8.13 版本包含以下更改:

  • 转换过程和函数调用时,请考虑隐式类型强制转换
  • 改进源连接字符串的日志记录,帮助排查连接问题

SSMA v8.12

SSMA for MySQL 的 v8.12 版本包含以下更改:

  • 临时表 DDL 的转换

SSMA v8.11

SSMA for MySQL 的 v8.11 版本包含以下更改:

  • 使用 MSAL.NET 库进行交互式 Microsoft Entra/Azure AD 身份验证

SSMA v8.10

SSMA for MySQL 的 v8.10 版本包含少许性能改进和 bug 修复。

SSMA v8.9

SSMA for MySQL 的 v8.9 版本包含以下更改:

  • 修复实现空间类型的数据迁移
  • 修复项目名称中特殊字符的问题

SSMA v8.8

SSMA for MySQL 的 v8.8 版本包括:

  • SQL Server 对象同步稳定性改进
  • 评估和转换过程中的 GUI 性能改进

SSMA v8.7

SSMA for MySQL 的 v8.7 版本在图形用户界面中进行了少许修复和性能改进。

此外,SSMA for MySQL 现在提供目标为 Azure SQL 时的 LIMIT 子句转换。

重要

使用 SSMA v8.5 及更高版本时,.NET 4.7.2 是安装必备组件。 如果需要安装此版本,可以下载运行时文件

SSMA v8.6

除了旨在提高可用性和性能的目标修补程序集外,通过添加一个设置,让用户能够在已转换代码中省略 SSMA 扩展属性的设置,从而增强了 SSMA for MySQL 的 v8.6 版本。

若要使用此设置,请在 SSMA for MySQL 中导航到“工具”>“项目设置>“常规”>转换”,然后在“Misc”下,将“省略扩展属性”设置的值更新为“是”。

“省略扩展属性”设置的屏幕截图。

重要

使用 SSMA v8.5 及更高版本时,.NET 4.7.2 是安装必备组件。 如果需要安装此版本,可以下载运行时文件

SSMA v8.5

SSMA for MySQL 的 v8.5 版本进行了增强,支持 Microsoft Entra/Azure AD 身份验证和对 SQL Server 中的 JSON 功能的基本支持,以及一组旨在提高可用性和性能的针对性修补程序。

重要

使用 SSMA v8.5,.NET 4.7.2 是安装必备组件。 如果需要安装此版本,可以下载运行时文件

SSMA v8.4

SSMA for MySQL 的 v8.4 版本通过有针对性的修补程序进行增强,旨在解决辅助功能问题,并且修复与 SQL Server 2016 (13.x) 及更高版本的最大索引列数相关的 bug(允许 32 列而不是 16 列)。

重要

使用 SSMA 版本 7.4 到 8.4 时,.NET 4.5.2 是安装先决条件。

SSMA v8.3

SSMA for MySQL 的 v8.3 版本进行了增强,使用了旨在改进质量和转换指标的目标修补程序。 此外,此版本的 SSMA for MySQL 还提供以下修补程序:

  • 解决辅助功能问题。
  • 在 SQL Server 中增加对 hierarchyid 类型的基本支持。

SSMA v8.2

SSMA for MySQL 的 v8.2 进行了增强,使用了旨在改进质量和转换指标的目标修补程序,并修复了以下问题:

  • 数据迁移后禁用非聚集索引的问题。
  • 在静默安装过程中检测 .NET Framework。
  • 下载新版本时发生的间歇性崩溃。

注意

自动更新的已知问题可能会导致从 SSMA v8.1 更新到 v8.2 的失败。 如果遇到此错误,请下载新版本并手动安装。

SSMA v8.1

SSMA for MySQL 的 v8.1 版本进行了增强,使用了旨在改进质量和转换指标的目标修补程序。

注意

自动更新的已知问题可能会导致从 SSMA v8.0 更新到 v8.1 的失败。 如果遇到此错误,请下载新版本并手动安装。

SSMA v8.0

SSMA for MySQL 的 v8.0 版本进行了增强,使用了旨在改进质量和转换指标的目标修补程序。 此版本还提供了以下功能:

  • 支持 Azure SQL 托管实例作为目标。 现在你可以创建面向 Azure SQL 托管实例的新项目:

    SQL 托管实例项目的屏幕截图。

  • 转换后修复顾问。 有关详细信息,请在此处查看。

  • 初步数据库/架构选择。

    连接到源时,现在可以选择感兴趣的数据库/架构。 仅选择计划迁移的架构,可在初始连接期间节省时间,并提高总体 SSMA 性能。

    SSMA 筛选器对象的屏幕截图。

SSMA v7.10

SSMA for MySQL 的 v7.10 版本包含以下更改:

  • 旨在提供更多安全和隐私保护的目标修补程序,以满足全球要求的变化。
  • 修复了函数名称和参数列表之间的空间转换。

SSMA v7.9

SSMA for MySQL 的 v7.9 版本包含以下更改:

  • 旨在改进质量和转换指标的目标修补程序。
  • 部分支持将空间数据类型从 MySQL 迁移到 Azure SQL 数据库。
  • 支持在 SSMA 命令行中更改数据类型映射和项目首选项。
  • 支持使用 SQL Server Integration Services (SSIS) 来迁移数据。 转换架构后,可以使用右键单击上下文菜单选项来创建 SSIS 包。
  • SSMA 中的 Azure SQL 数据库连接对话框也已更改,以指定完全限定的服务器名称。 在早期版本的 SSMA 中,必须在项目设置中显式提及 Azure SQL 数据库前缀。

SSMA v7.8

SSMA for MySQL 的 v7.8 版本包含以下更改:

  • 更改在项目设置中突出显示的类型映射。
  • 用户能够禁用遥测。

SSMA v7.7

SSMA for MySQL 的 v7.7 版本包含以下更改:

  • SSMA for MySQL 进行了增强,使用了旨在改进质量和转换指标的目标修补程序。
  • 基于普遍的需求,我们重新提供了 SSMA for MySQL 的 32 位版本。 与以前的实现(在 v7.4 之前)相比,它提供两个安装程序包,但它们不能并排安装。 因此,必须根据你拥有的连接组件,选择最合适的版本。 在可能的情况下,最好使用 64 位版本。
  • SSMA for MySQL 现在提供 ODBC 连接字符串连接模式,允许使用任何与 MySQL 兼容的第三方 ODBC 驱动程序。

SSMA v7.6

SSMA for MySQL 的 v7.6 版本进行了增强,使用了旨在改进质量和转换指标的目标修补程序,并支持 SQL Server 2017 (14.x)(公共预览版)。 Windows 和 Linux 上的 SQL Server 2017 (14.x) 支持功能为公共预览版,不应用于生产迁移。

SSMA v7.5

SSMA for MySQL 的 v7.5 版本得到了增强,并进行了多项改进,确保残疾人可以更便利地使用。

SSMA v7.4

SSMA for MySQL 的 v7.4 版本包含以下更改:

  • 查询超时 选项现在可在源和目标上的架构对象发现期间使用。

    查询超时选项的屏幕截图。

  • 根据客户反馈,通过目标修补程序,改进了质量和转换指标。

重要

.NET 4.5.2 是安装 SSMA v7.4 的必备组件。 此外,从 v7.4 开始,SSMA 的 32 位版本即将停用。

SSMA v7.3

SSMA for MySQL 的 v7.3 版本包含以下更改:

  • 根据客户反馈,利用目标修补程序改进了质量和转换指标。

  • 通过以下项目公开的 SSMA 扩展性框架:

    • 将功能导出到 SQL Server Data Tools (SSDT) 项目。

      • 现在你可以将架构脚本从 SSMA 导出到 SSDT 项目。 你可以使用架构脚本进行额外的架构更改并部署数据库。

        “另存为 SSDT 项目”命令的屏幕截图。

    • SSMA 用于执行自定义转换的库。

SSMA v7.2

SSMA for MySQL 的 v7.2 版本包含以下更改:

  • 根据客户反馈,利用目标修补程序改进了质量和转换指标。
  • 遥测增强功能,提供更好的数据点来排查客户问题,并且提高 SSMA 的转换率。

SSMA v7.1

SSMA for MySQL 的 v7.1 版本包含以下更改:

  • Windows 和 Linux CTP 1 上的 SQL Server 2017 (14.x) 现在是迁移支持的目标平台。 此功能以技术预览版提供,允许将架构和数据移动到目标 SQL Server 实例。
  • SSMA 现在支持自动更新,以便尽快下载最新版本的 SSMA。
  • SSMA 可安装二进制文件现在通过 Windows Installer 包文件 (.msi) 提供。

2016 年 5 月

SSMA for MySQL 的 2016 年 5 月版本包含以下更改:

  • 增加了对 SQL Server 2016 (13.x) 的支持。
  • 改进了分析程序和解析程序。
  • 取消了 .NET 2.0 的安装程序检查。
  • 将扩展包依赖项从 .NET 3.5 更新为 .NET 4.0。
  • 修复了 MySQL 的默认 BigInt 类型映射。
  • 修复了 SSMA 控制台的 save-projectopen-project 命令。
  • 修复了 SSMA 控制台的 securepassword 命令。
  • 修复了初始加载的对象计数。
  • 修复了 MsSql 对象加载问题。
  • 修复了全局设置中的 Bug。

2016 年 3 月

SSMA for MySQL 的 2016 年 3 月预览版增加了对迁移到 SQL Server 2016 (13.x) 的支持。

2016 年 1 月

SSMA for MySQL 的 2016 年 1 月维护版本包含以下更改:

  • 为 SSMA 增加了视图日志菜单项 (RFC 5706203)。
  • 添加了遥测。

2014 年 7 月

SSMA for MySQL 的 2014 年 7 月版本包含以下更改:

  • 改进了 Azure SQL 数据库代码转换。
  • 扩展包功能已移动到架构,以支持 Azure SQL 数据库。
  • 针对包含 1 万多个对象的数据库进行了性能改进测试。
  • 进行了 UI 改进,可处理大量的对象。
  • 突出显示已知 LOB 架构(因此在转换中可以忽略它们)。
  • 转换速度改进。
  • 显示 UI 中的对象计数。
  • 报表大小减少 25% 以上。
  • 改进了未分析构造的错误消息。

2014 年 4 月

SSMA for MySQL 的 2014 年 4 月版本包含以下更改:

  • 增加了对 SQL Server 2014 (12.x) 的支持。
  • 修复了转换为 Azure 的 Bug。
  • 修复了 IE 10 中不可见报表页面的 Bug。

2011 年 7 月

SSMA for MySQL 的 2011 年 7 月版本包含以下更改:

  • 支持 LIMIT 转换为 SQL Server 2012 (11.x)OFFSET
  • 改进了数据迁移过程中的错误报告。

2011 年 4 月

SSMA for MySQL 的 2011 年 4 月版本包含以下更改:

  • 支持 SQL Server 2005(9.x)、SQL Server 2008(10.0.x)、SQL Server 2012(11.x)和 Azure SQL 的 SSMA for MySQL 的单一可安装。
  • 能够连接 SQL Server 2012 (11.x)。
  • 增强的客户端数据迁移引擎,支持数据并行迁移。
  • 利用简单和大容量日志恢复模式,改进了数据迁移性能。
  • SSMA for MySQL 控制台版本支持后向兼容。 你可以打开由低于 SSMA v5.0 的版本创建的项目。
  • SSMA for MySQL v5.0 产品可与旧版 SSMA 产品并排安装 (SxS)。

2010 年 7 月

SSMA for MySQL 的 2010 年 7 月版本包含以下功能:

1.用户界面的改进:

  • MySQL 数据库对象的“SQL 模式”选项卡
  • MySQL 数据库对象的“设置”选项卡
  • MySQL 表的“数据”选项卡
  • 更新了转换和迁移页面中的项目设置
  • 表级别的“数据迁移设置”

2.MySQL 和 SQL Server 连接的改进:

  • MySQL 中的 SSL/TLS 连接
  • SQL Server 中的加密连接

3.对 MySQL 元数据库资源管理器的改进:

  • 加载全部 MySQL 数据库对象及其各自的选项卡。

4.对象转换的改进:

  • MySQL 元数据库对象的转换 - 过程、函数、视图、触发器和语句。
  • 对表中空间数据类型的支持有限。
  • 将 MySQL 函数转换为 SQL Server 存储过程的选项
  • 在对象转换期间应用 SQL 模式和字符集映射的选项

5. 数据迁移的改进:

  • 同时支持使用服务器端和客户端数据迁移引擎来进行数据迁移
  • 支持空间数据迁移
  • 用于表的数据迁移的自定义 SQL

6. SSMA for MySQL 控制台:

  • 支持 SSMA for MySQL 的控制台功能
  • 支持脚本级交互

2010 年 1 月

2010 年 1 月版本的 SSMA for MySQL 是初始版本。 它包含以下功能:

  • 增加对向本地 SQL Server 和 Azure SQL 迁移的支持。
  • 功能快照:MySQL 表/索引/约束的架构和数据迁移。