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 的触发器定义中加载旧/新行/表的别名
- 为具有两个和三个参数的
LCASE
、UCASE
、LOWER
、UPPER
函数添加了转换 - 为具有两个参数的
LTRIM
和RTRIM
函数添加了转换 - 改进了
LOCATE
和POSITION
函数的转换 - 修复了仿真函数
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
的类型映射 - 改进了具有数值参数的
ROUND
和TRUNC
函数的转换 - 改进了评估报告以在新式浏览器中使用
- 使用由数据库提供的颁发机构进行 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 及更高版本)
- 翻译了
SQLSTATE
和SQLCODE
- 函数中副作用运算符的转换错误消息
- 使用 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 性能改进
- 更新了从
ROWID
到varbinary(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_NUMBER
的GET 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
添加了转换。 - 改进了全局临时表的转换。
- 解决了对象唯一性检查顺序问题,以将表优先于约束(如果名称发生冲突)。
- 解决了为
DATE
和TIMESTAMP
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 托管实例的新项目:
转换后修复顾问。 你可在此处了解相关详细信息。
初步数据库/架构选择。
连接到源时,现在可以选择感兴趣的数据库/架构。 仅选择计划迁移的架构,可在初始连接期间节省时间,并提高总体 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 项目。 可以使用架构脚本进行其他架构更改并部署数据库。
SSMA 可用于执行自定义转换的库。
- 现在可以构造全新编码,可处理自定义语法转换和以前未由 SSMA 处理的转换。
- 有关如何构造自定义转换器的说明,请参阅此博客文章:《扩展 SQL Server 迁移助手的转换功能》。
- 从此博客文章下载用于转换的示例项目。
- 现在可以构造全新编码,可处理自定义语法转换和以前未由 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 月版本是初始版本。