SSMA for DB2 中的新增功能 (DB2ToSQL)

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

注意

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

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 修复,支持联机帮助查看器。

  • 添加了对 LISTAGG() for DB2 LUW 的支持

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 子句中值 NULL 的 DB2 行为。
  • 分析对 ASSOCIATE RESULT SET 语句的支持。

重要

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

SSMA v8.6

除了一组旨在提高可用性和性能的针对性修补程序外,SSMA for DB2 的 v8.6 版本通过添加一个使用户能够在转换后的代码中省略 SSMA 扩展属性的设置进行了增强。

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

Omit Extended Properties setting

此外,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 project

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

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

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

    SSMA filter objects

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 版本包含以下更改:

  • 旨在改进质量和转换指标的目标修补程序。
  • 根据客户的普遍需求,SSMA for DB2 的 32 位版本已恢复。 与以前(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 版本包含以下更改:

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

    query timeout option

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

    重要

    .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 项目。 可以使用架构脚本进行其他架构更改并部署数据库。

        Save as SSDT project command

    • 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 文件。
  • 修复了 SSMA 控制台的 save-projectopen-project 命令。
  • 修复了 SSMA 控制台的 securepassword 命令。
  • 修复了初始加载的对象计数。
  • 修复了全局设置中的 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 月

2014 年 11 月发布的用于 DB2 的 SSMA 是初次发布。