SSMA for Db2 中的新增功能(Db2ToSQL)

本文列出了每个版本中 Db2 更改的 SQL Server 迁移助手 (SSMA)。

注意

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

SSMA v10.0

SSMA for DB2 的 v10.0 版本包含以下更改:

  • 改进 FETCH FIRST ROW ONLY 语法的转换
  • 改进LOCATE_IN_STRING行为的转换支持
  • 支持 DB2-ZOS 中的范围分区表
  • 改进索引中 INCLUDE 子句的处理

SSMA v9.5

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

  • 支持使用 Azure 数据工厂进行大型数据迁移
  • 用于改进代码转换的修复

SSMA v9.4.1

SSMA for Db2 的 v9.4.1 版本

  • I 系列 Db2 实例中表加载的 Bug 修复

SSMA v9.4

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

  • 修复了多个 DELETE 语句的转换。
  • 改进处理程序的转换
  • 改进 Fetch 子句的转换

SSMA v9.3

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

  • 支持系统版本表
  • 支持 SQL Server 2022 目标

SSMA v9.2

SSMA for Db2 的 v9.2 版本包含轻微的性能改进、bug 修复和增强的获取帮助体验。

SSMA v9.1

SSMA for Db2 的 v9.1 版本包含轻微的性能改进、bug 修复和增强的获取帮助体验。

SSMA v9.0

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

  • 添加对 Db2 LUW 的 LISTAGG() 的支持

SSMA v8.24

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

  • 在子查询中添加了对 ORDER BY 子句的支持
  • 添加了对 ROW_NUMBER 函数的支持
  • 改进了 UNION/UNION ALL 语句的转换
  • 改进了“Save As”语句的命名

SSMA v8.23

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

  • 改进了 TOTALORDER 函数
  • 支持对 ANCHORED 数据类型的转换支持
  • 新的“允许来自文件的语句”选项,用于从文件系统中添加语句
  • 增强了在控制台模式下运行时的 XML 输出
  • 报告中新增了用于发送反馈的“反馈”链接
  • 在报告中,增强了可视化体验

SSMA v8.22

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

  • 修复了仿真函数 ssma_db2.TIMESTAMP_FORMAT 中的 AM/PM 处理
  • 改进了仿真函数 ssma_db2.TIMESTAMP_FORMAT 中的星期验证
  • 允许为目标数据库连接指定额外的连接字符串选项
  • 介绍了评估报告中的摘要图表
  • 改进了评估报告中的消息导航

SSMA v8.21

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

  • 在 Db2 for i 的触发器定义中加载旧/新行/表的别名
  • 为具有两个和三个参数的 LCASEUCASELOWERUPPER 函数添加了转换
  • 为具有两个参数的 LTRIMRTRIM 函数添加了转换
  • 改进了 LOCATEPOSITION 函数的转换
  • 修复了仿真函数 ssma_db2.CHAR 的返回类型
  • 修复了仿真函数 ssma_db2.DECIMAL 的参数
  • 在目标数据库的行计数查询中使用 COUNT_BIG

SSMA v8.20

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

  • 改进了 VARCHAR_FORMAT 仿真函数
  • 修复 Db2 for i 的表发现问题

SSMA v8.19

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

  • 改进了 TIMESTAMP_FORMAT 仿真函数
  • 改进了 z/OS 平台的外键发现

SSMA v8.18

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

  • 添加了对标识列的支持

SSMA v8.17

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

  • 改进了 TRANSLATE 函数的转换
  • 修复了具有计算列的表的数据迁移
  • 更新 HTML 评估报告以使用新式编辑器显示 SQL 文本

SSMA v8.16

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

  • 修复了使用特殊字符的列别名的转换
  • 修复了 SELECTIVITY 子句的转换
  • 改进了 WITH ROW MOVEMENT 子句的转换
  • 删除对旧版分析程序的支持
  • 修复了对象不从数据库刷新的问题

SSMA v8.15

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

  • 修复了具有日期/时间参数的 MIN/MAX 聚合函数的转换
  • 修复了使用占位符 DD 时仿真函数 VARCHAR_FORMAT 中的 bug
  • 改进了数据类型 TIME 的类型映射
  • 改进了具有数值参数的 ROUNDTRUNC 函数的转换
  • 改进了评估报告以在新式浏览器中使用
  • 使用由数据库提供的颁发机构进行 Microsoft Entra/Azure AD 身份验证
  • 改进了从文件加载的语句的命名

SSMA v8.14

除了多项改进,以确保残障人士的可访问性更高,SSMA for Db2 的 v8.14 版本还需要项目升级,因为它现在将完整的源/目标服务器版本存储在项目元数据中。

SSMA v8.13

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

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

SSMA v8.12

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

  • STRIP 函数的转换
  • 改进了过程选项分析

SSMA v8.11

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

  • 支持 Db2 for i (v7.1 及更高版本)
  • 翻译了 SQLSTATESQLCODE
  • 函数中副作用运算符的转换错误消息
  • 使用 MSAL.NET 库进行交互式 Microsoft Entra/Azure AD 身份验证

SSMA v8.10

SSMA for Db2 的 v8.10 版本解决了外键发现中的回归,并包含轻微的性能改进。

SSMA v8.9

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

  • 修复了 TIMESTAMPDIFF 函数的转换
  • 修复了存在分区索引时的索引发现问题
  • 修复了在另一个架构中定义主索引时的外键发现问题
  • 改进了与内置函数名称匹配的列的转换
  • 修复了项目名称中有特殊字符的问题

SSMA v8.8

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

  • SQL Server 对象同步稳定性改进
  • 评估和转换过程中的 GUI 性能改进
  • 更新了从 ROWIDvarbinary(40) 的映射,以方便数据迁移
  • 改进了 SELECT ... FROM NEW/OLD TABLE 语句的转换
  • 新增了用于过程和函数的 ALTER 语句的转换
  • 新增了解构分配的转换

SSMA v8.7

SSMA for Db2 的 v8.7 版本包括全新的 Db2 语法分析器,以及图形用户界面中的次要修复和性能改进。

此外,SSMA for Db2 现在提供:

  • 修复了从 LUW 上的 Db2 迁移时发现外键的问题。
  • 改进了 SELECT ... FOR UPDATE 语句的转换
  • 改进了 MQ 表中函数 COUNT 的转换。
  • 语句的 SAVEPOINT 转换。
  • 转换为模拟子句中ORDER BY值的 Db2 行为NULL
  • 分析对 ASSOCIATE RESULT SET 语句的支持。

重要

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

SSMA v8.6

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

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

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

此外,SSMA for Db2 现在提供:

  • 修复了使用默认参数值的函数的转换。
  • 改进了函数 PARAMETER 子句的分析。
  • 转换 LEAVE 语句的功能。

重要

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

SSMA v8.5

SSMA for Db2 的 v8.5 版本得到了增强,支持 Microsoft Entra/Azure AD 身份验证和对 SQL Server 中的 JSON 功能的基本支持,以及旨在提高可用性和性能的目标修补程序集。

此外,SSMA for Db2 已增强:

  • 支持添加使用 ROW_NUMBERGET DIAGNOSTICS 语句的转换。
  • 修复了与对象名开头的空格相关的 bug。

重要

使用 SSMA v8.5 时,.NET 4.7.2 是安装先决条件。 如果需要安装此版本,可以从此处下载运行时文件。

SSMA v8.4

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

重要

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

SSMA v8.3

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

  • 解决了辅助功能问题。
  • 添加了对 SQL Server 中 hierarchyid 类型的基本支持。
  • 将 z/OS 发现查询中的 TRIM 函数用法替换为 RTRIM/LTRIM
  • 允许用户在“标准模式”中连接时指定包集合(默认值为 NULLID)。
  • CREATE TABLE AS SELECT 添加了转换。
  • 改进了全局临时表的转换。
  • 解决了对象唯一性检查顺序问题,以将表优先于约束(如果名称发生冲突)。
  • 解决了为 DATETIMESTAMP for z/OS 加载默认列值的问题。
  • 支持 Unicode 换行符(也称为 NEL)。
  • 解决了缺少子句的 RETURN TO 游标转换问题。
  • 添加了对标签和 GOTO 的支持。

SSMA v8.2

通过增强 SSMA for Db2 的 v8.2 版本,可以解决从 SSMA 控制台工具连接到 Azure SQL 数据库的问题,并在转换期间在视图声明中缺少COUNT_BIG列。 此外,此版本还包括一组有针对性的修补程序,旨在提高质量和转换指标,并修复以下项:

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

注意

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

SSMA v8.1

增强 SSMA for Db2 的 v8.1 版本,以提供旨在提高质量和转换指标的目标修补程序。

注意

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

SSMA v8.0

SSMA for Db2 的 v8.0 版本已得到增强,可提供旨在提高质量和转换指标的目标修补程序。 此版本还增加了以下功能:

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

SQL MI 项目的屏幕截图。

  • 转换后修复顾问。 你可在此处了解相关详细信息。

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

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

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

SSMA v7.10

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

  • 旨在提供更多安全和隐私保护的目标修补程序,以满足全球要求的变化。
  • 修复了 BEGIN-END 块的转换。

SSMA v7.9

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

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

SSMA v7.8

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

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

SSMA v7.7

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

  • 旨在改进质量和转换指标的目标修补程序。
  • 根据流行的需求,32 位版本的 SSMA for Db2 已返回。 与以前(v7.4 之前)的实现相比,它有两个安装程序包,但它们不能并排安装。 因此,必须根据你拥有的连接组件,选择最合适的版本。 最好尽可能使用 64 位版本。

SSMA v7.6

SSMA for Db2 的 v7.6 版本通过有针对性的修补程序进行了增强,可改进质量和转换指标,并支持 SQL Server 2017(公共预览版)。 对 Windows 和 Linux 上的 SQL Server 2017 的支持尚为公共预览版,不应用于生产迁移。

SSMA v7.5

SSMA for Db2 的 v7.5 版本得到了增强,并进行了多项改进,以确保残疾人的可访问性更高。

SSMA v7.4

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

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

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

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

    重要

    .NET 4.5.2 是安装 SSMA v7.4 的先决条件。 此外,从 v7.4 开始,SSMA 的 32 位版本已经停止使用。

SSMA v7.3

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

  • 通过基于客户反馈的针对性修补程序改进了质量和转换指标。
  • 通过以下项公开的 SSMA 扩展性框架:
    • 将功能导出到 SQL Server Data Tools (SSDT) 项目。

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

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

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

SSMA v7.2

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

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

SSMA v7.1

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

  • Windows 和 Linux CTP1 上的 SQL Server 2017 现在是支持用于迁移的目标平台。 此功能以技术预览版提供,允许将架构和数据移动到目标 SQL Server 实例。

  • 支持自动更新,以便在最新版本的 SSMA 可用后立即下载。

  • SSMA 可安装二进制文件现在通过 Windows Installer 包文件 (.msi) 传递。

2016 年 5 月

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

  • 添加了对 SQL Server 2016 的支持。
  • 添加了 Db2 内存中表和常规表到 SQL Server 内存中和 hekaton 功能的转换。
  • 添加了 Db2 访问控制到 SQL Server 策略对象的转换(Db2 行级别安全性)。
  • 添加了 Db2 系统版本控制的表到 SQL Server 临时表的转换。
  • 改进了 Db2 分析器和解析程序。
  • 取消了 .NET 2.0 的安装程序检查。
  • 从 Db2 安装程序中删除了不必要的 *.dll 文件。
  • 修复 save-project 了 SSMA 控制台的命令和 open-project 命令。
  • 修复 securepassword 了 SSMA 控制台的命令。
  • 修复了初始加载的对象计数。
  • 修复了全局设置中的 bug。

2016 年 3 月

SSMA for Db2 的 2016 年 3 月预览版增加了对迁移到 SQL Server 2016 的支持。

2016 年 1 月

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

  • 添加了对多个标准函数的支持。
  • 修复了 Db2 分析程序错误。
  • 修复了 Db2 v9 zOS 支持(RFC 5690920)。
  • 修复了转换过程中 Db2 未解析的标识符错误。
  • 为 SSMA 增加了视图日志菜单项 (RFC 5706203)。
  • 添加了遥测。

2014 年 11 月

SSMA for Db2 的 2014 年 11 月版本是初始版本。