本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用生成式人工智能转换数据库对象
带有生成式人工智能功能的 DMS 架构转换通过提供建议来简化数据库迁移过程,可帮助您转换那些以往通常需要复杂手动操作才能转换的代码对象。此功能可用于 Oracle 到 Po PostgreSQL/Aurora stgreSQL、SQL Server 到 PostgreSQL 的转换。PostgreSQL/Aurora PostgreSQL and SAP ASE (Sybase ASE) to PostgreSQL/Aurora您可以转换整个数据库架构或单个数据库架构对象。
要使用生成式人工智能转换源数据库对象,请按照转换数据库对象中的步骤 1 到 6 进行操作,然后继续使用以下两种方法之一:
-
方法 1:从操作菜单中选择转换。在出现的转换对话框中,启用使用生成式人工智能转换架构选项,然后单击转换。
-
方法 2:单击右上角的使用生成式人工智能转换架构。在转换对话框中,确保该选项已启用,然后单击转换。
要随时在 DMS 架构转换控制台中手动调整此设置,请执行以下操作:
-
导航到设置选项卡。
-
在转换设置部分,启用生成式人工智能选项以批准使用生成式人工智能。
注意
支持的区域:
-
美国东部(弗吉尼亚州北部)
-
美国西部(俄勒冈州)
-
欧洲地区(法兰克福)
支持的转换路径:
-
Oracle 到 Amazon RDS for PostgreSQL
-
Oracle 到 Amazon Aurora PostgreSQL
-
Microsoft SQL Server 到 Amazon RDS for PostgreSQL
-
Microsoft SQL Server 到 Amazon Aurora PostgreSQL
-
SAP ASE(Sybase ASE)到 Amazon RDS for PostgreSQL
-
SAP ASE(Sybase ASE)到亚马逊 Aurora PostgreSQL
生成式人工智能转换的范围
生成式人工智能辅助架构转换侧重于具有指定操作项的特定 SQL 元素。所有其他 SQL 元素都使用基于规则的默认方法进行转换。生成式人工智能转换扩展范围内的 SQL 元素包括:
| 转换方向 | 行动项目 | Message | 语法元素 |
|---|---|---|---|
| Oracle 到 Amazon RDS for PostgreSQL 以及 Oracle 到 Amazon Aurora PostgreSQL | 5578 | Amazon DMS架构转换无法转换 SELECT 语句 | 除限制之外的所有情况 |
| 30415 | 您的 MERGE 语句在 WHERE 子句中包含基于目标表列中的值的筛选条件 | 除限制之外的所有情况 | |
| 5591 | Amazon DMS架构转换无法转换系统对象 | 除限制之外的所有情况 | |
| 5029 | Amazon DMS架构转换无法转换数据类型不支持的对象的用法 | 在函数和过程参数中使用具有不受支持的 STANDARD.BFILE 数据类型的对象。 | |
| 5031 | Amazon DMS架构转换无法转换 CURSOR 表达式 | 除限制之外的所有情况 | |
| 5043 | Amazon DMS架构转换无法转换 SELECT 子句中带有星号的分层查询 | 除限制之外的所有情况 | |
| 5073 | PostgreSQL 不支持带有伪列的分层查询 | 除限制之外的所有情况 | |
| 5102 | PostgreSQL 不支持 MERGE 语句 | 除限制之外的所有情况 | |
| 5585 | Amazon DMS架构转换无法将外部联接转换为相关的子查询 | 除限制之外的所有情况 | |
| 5608 | Amazon DMS如果子查询在 SET 子句中返回多列,则架构转换无法转换 UPDATE 语句 | 除限制之外的所有情况 | |
| 5619 | Amazon DMS架构转换无法转换系统对象 | 除限制之外的所有情况 | |
| 5852 | PostgreSQL 在 MERGE 语句中仅支持将表作为目标。 | 除限制之外的所有情况 | |
| 5853 | Amazon DMS架构转换仅支持表、视图或子查询作为 MERGE 语句的 USING 子句中的源 | 除限制之外的所有情况 | |
| 5855 | 您的 MERGE 语句在 WHERE 子句中包含基于目标表列中的值的筛选条件 | 除限制之外的所有情况 | |
| 9996 | 出现内部转换器错误 | 除限制之外的所有情况 | |
| 9993 | 由于引用了未解析的对象,无法转换语句 | 除限制之外的所有情况 | |
| 5598 | PostgreSQL 不支持 ROWID | 除限制之外的所有情况 | |
| 5340 | Amazon DMS架构转换无法转换函数 | 除限制之外的所有情况 | |
| 5071 | PostgreSQL 不支持子查询使用 INSERT 语句 | 除限制之外的所有情况 | |
| 5068 | PostgreSQL 不支持子查询使用 DELETE 语句 | 除限制之外的所有情况 | |
| 5065 | PostgreSQL 不支持子查询使用 UPDATE 语句 | 除限制之外的所有情况 | |
| 5586 | Amazon DMS架构转换无法使用 NOCYCLE 子句转换查询 | 除限制之外的所有情况 | |
| 5351 | Amazon DMS架构转换无法转换对象 | 除限制之外的所有情况 | |
| 5077 | PostgreSQL 不支持 SELECT 语句使用 PIVOT 子句 | 除限制之外的所有情况 | |
| 5126 | PostgreSQL 不支持 MODEL 语句 | 除限制之外的所有情况 | |
| 5121 | PostgreSQL 不支持 FORALL 语句 | 除限制之外的所有情况 | |
| 5141 | Amazon DMS架构转换不支持这种类型的转换 | 除限制之外的所有情况 | |
| 5142 | Amazon DMS架构转换无法转换相同方法的嵌套调用 | 除限制之外的所有情况 | |
| 5245 | PostgreSQL 不支持包含嵌套表列的视图 | 除限制之外的所有情况 | |
| 5500 | Amazon DMS架构转换无法转换数据库邮件发送 | 除限制之外的所有情况 | |
| 5501 | Amazon DMS架构转换无法转换计划作业 | 除限制之外的所有情况 | |
| 5645 | PostgreSQL 不支持多个对象表目标的 BULK COLLECT INTO 子句。 | 除限制之外的所有情况 | |
| 5665 | PostgreSQL 不支持用 PRAGMA AUTONOMOUS_TRANSACTION 定义的集合数据类型 | 除限制之外的所有情况 | |
| 5637 | PostgreSQL 不支持批量收集到 VARRAY 的 VARRAY | 除限制之外的所有情况 | |
| 5594 | Amazon DMS架构转换无法转换日期时间表达式 | 除限制之外的所有情况 | |
| 5622 | Amazon DMS架构转换会转换参数设置为 true 的 dbms_transaction.local_transaction_id 函数 | 除限制之外的所有情况 | |
| 5643 | PostgreSQL 不支持 SELECT 语句中针对多级集合类型的 BULK COLLECT INTO 子句。 | 除限制之外的所有情况 | |
| 5649 | PostgreSQL 不支持多级集合类型的多集运算符。 | 除限制之外的所有情况 | |
| 5651 | Amazon DMS架构转换无法转换流水线表函数 | 除限制之外的所有情况 | |
| 5793 | Amazon DMS架构转换使用 GRANT ALL 选项创建队列 | 除限制之外的所有情况 | |
| 5794 | PostgreSQL 默认将队列模式设置为启用 | 除限制之外的所有情况 | |
| 5795 | Amazon 简单队列服务不支持处于禁用模式的队列 | 除限制之外的所有情况 | |
| Microsoft SQL Server 到 Amazon RDS for PostgreSQL 和 Microsoft SQL Server 到 Amazon Aurora PostgreSQL | 7610 | Amazon DMS架构转换无法转换不支持的 DDL 语句 | 除限制之外的所有情况 |
| 7622 | Amazon DMS架构转换无法使用复杂的内联函数转换 DELETE 语句 | 除限制之外的所有情况 | |
| 7624 | Amazon DMS对于没有主键的表,架构转换无法将 DELETE 语句转换为内联函数 | 除限制之外的所有情况 | |
| 7626 | Amazon DMS架构转换无法使用复杂的内联函数转换 UPDATE 语句 | 除限制之外的所有情况 | |
| 7627 | Amazon DMS架构转换无法转换此语法元素 | 除限制之外的所有情况 | |
| 7628 | PostgreSQL 不支持 GOTO 语句 | 除限制之外的所有情况 | |
| 7637 | PostgreSQL 不支持全局游标 | 除限制之外的所有情况 | |
| 7639 | PostgreSQL 不支持动态游标 | 除限制之外的所有情况 | |
| 7644 | PostgreSQL 不支持 %s 子句 | 除限制之外的所有情况 | |
| 7645 | PostgreSQL 不支持在链接服务器上运行直通命令 | 除限制之外的所有情况 | |
| 7653 | PostgreSQL 不支持 GROUP BY ROLLUP 子句 | 除限制之外的所有情况 | |
| 7654 | PostgreSQL 不支持 GROUP BY CUBE 子句 | 除限制之外的所有情况 | |
| 7655 | PostgreSQL 不支持 GROUP BY GROUPING SETS 子句 | 除限制之外的所有情况 | |
| 7672 | PostgreSQL 不支持运行字符串的 EXECUTE 语句 | 除限制之外的所有情况 | |
| 7683 | 如果目标是视图、实体化视图或外部表,则不支持 MERGE | 除限制之外的所有情况 | |
| 7687 | PostgreSQL 不支持 CONTAINS 谓词 | 除限制之外的所有情况 | |
| 7688 | PostgreSQL 不支持 FREETEXT 谓词 | 除限制之外的所有情况 | |
| 7691 | PostgreSQL 不支持 WAITFOR TIME 功能 | 除限制之外的所有情况 | |
| 7695 | PostgreSQL 不支持将过程作为变量调用 | 除限制之外的所有情况 | |
| 7696 | Amazon DMS架构转换无法转换对象,因为该%s对象尚未创建 |
除限制之外的所有情况 | |
| 7708 | Amazon DMS架构转换无法转换不支持%s的数据类型的用法 |
除限制之外的所有情况 | |
| 7709 | Amazon DMS架构转换无法转换对称密钥的用法 | 除限制之外的所有情况 | |
| 7773 | Amazon DMS架构转换无法转换带有日期的算术运算 | 除限制之外的所有情况 | |
| 7774 | Amazon DMS架构转换无法转换具有混合类型操作数的算术运算 | 除限制之外的所有情况 | |
| 7794 | PostgreSQL 不支持用户定义的数据类型 | 除限制之外的所有情况 | |
| 7796 | PostgreSQL 不支持 UPDATE 语句中的 TOP 子句 | 除限制之外的所有情况 | |
| 7797 | PostgreSQL 不支持 UPDATE 语句中 OUTPUT 子句的 DELETED 列前缀 | 除限制之外的所有情况 | |
| 7798 | PostgreSQL 不支持 DELETE 语句中的 TOP 子句 | 除限制之外的所有情况 | |
| 7799 | PostgreSQL 不支持 INSERT 运算符中的 TOP 子句 | 除限制之外的所有情况 | |
| 7804 | PostgreSQL 不支持按位异或运算符 | 除限制之外的所有情况 | |
| 7805 | PostgreSQL 不支持 !< |
除限制之外的所有情况 | |
| 7806 | PostgreSQL 不支持 !>(不大于)运算符 | 除限制之外的所有情况 | |
| 7811 | PostgreSQL 不支持 %s 函数。 Amazon DMS架构转换会跳过转换后的代码中这个不支持的函数 | 除限制之外的所有情况,不包括 DDL | |
| 7816 | 对于 XML 数据类型,PostgreSQL 不支持任何方法 | 除限制之外的所有情况 | |
| 7817 | PostgreSQL 不支持 SQL 查询中的 FOR XML PATH 选项 | 除限制之外的所有情况 | |
| 7818 | PostgreSQL 不支持二进制数据类型的算术运算 | 除限制之外的所有情况 | |
| 7819 | PostgreSQL 不支持 INSERT...EXECUTE 语句 | 除限制之外的所有情况 | |
| 7820 | PostgreSQL 不支持 VALUE() 方法 | 除限制之外的所有情况 | |
| 7824 | MERGE 语句不支持递归 CTE | 除限制之外的所有情况 | |
| 7829 | Amazon DMS架构转换无法使用 UPDATE 语句转换变量赋值 | 除限制之外的所有情况 | |
| 7830 | Amazon DMS架构转换无法使用 CASE 操作数转换算术运算 | 除限制之外的所有情况 | |
| 7832 | Amazon DMS架构转换无法在视图上转换 INSTEAD OF 触发器 | 除限制之外的所有情况 | |
| 7833 | Amazon DMS架构转换无法在当前上下文中转换@@rowcount函数 |
除限制之外的所有情况 | |
| 7836 | PostgreSQL 不支持对二进制数据执行写入操作 | 除限制之外的所有情况 | |
| 7840 | Amazon DMS架构转换无法转换数据库控制台命令语句 | 除限制之外的所有情况 | |
| 7904 | Amazon DMS架构转换无法转换 %s 系统对象 | 除限制之外的所有情况 | |
| 7905 | PostgreSQL 不支持 SELECT 语句的 PIVOT 子句 | 除限制之外的所有情况 | |
| 7906 | PostgreSQL 不支持 SELECT 语句的 UNPIVOT 子句 | 除限制之外的所有情况 | |
| 7909 | Amazon DMS架构转换无法转换 UPDATE(列)或 COLUMNS_UPDATED 语句 | 除限制之外的所有情况 | |
| 7916 | Amazon DMS架构转换无法使用 INSERT ON CONFLICT 语句模拟 MERGE 语句 | 除限制之外的所有情况 | |
| 7917 | PostgreSQL 不支持 %s 函数 | 除限制之外的所有情况 | |
| 7918 | PostgreSQL 不支持表值函数 | 除限制之外的所有情况 | |
| 7919 | PostgreSQL 不支持带有 %s 指令的 FOR XML | 除限制之外的所有情况 | |
| 7920 | PostgreSQL 不支持将 FOR XML 与 EXPLICIT 模式结合使用 | 除限制之外的所有情况 | |
| 7925 | PostgreSQL 不支持 OPENXML 标志的百分比字符 | 除限制之外的所有情况 | |
| 7927 | PostgreSQL 不支持没有主键的自引用表的外部联接 | 除限制之外的所有情况 | |
| 7929 | Amazon DMS架构转换无法从 EXEC 语句转换 INSERT 语句 | 除限制之外的所有情况 | |
| 7939 | Amazon DMS架构转换无法转换 %s JSON 系统函数 | 除限制之外的所有情况 | |
| 7940 | Amazon DMS架构转换无法转换 OPENJSON 系统表值函数 | 除限制之外的所有情况 | |
| 7941 | Amazon DMS架构转换无法转换所有打开的数据集,因为您有多个打开的数据集 | 除限制之外的所有情况 | |
| 9996 | 出现内部转换器错误 | 除限制之外的所有情况 | |
| SAP ASE(Sybase ASE)到 Amazon RDS for PostgreSQL 和 SAP ASE(Sybase ASE)到亚马逊 Aurora PostgreSQL | 3014 | 无法转换函数 | 除限制之外的所有情况 |
| 3016 | PostgreSQL 不支持 DML 运算符中的 TOP 选项 | 除限制之外的所有情况 | |
| 3021 | 无法执行算术运算的自动迁移 | 除限制之外的所有情况 | |
| 3023 | PostgreSQL 不支持二进制数据类型的算术运算 | 除限制之外的所有情况 | |
| 3025 | 日期/时间格式无法匹配 | 除限制之外的所有情况 | |
| 3026 | 不支持使用变量自动转换运算符 WAITFOR | 除限制之外的所有情况 | |
| 3027 | PostgreSQL 不支持 WAITFOR TIME 功能 | 除限制之外的所有情况 | |
| 3028 | PostgreSQL 不支持带指令的 WAITFOR | 除限制之外的所有情况 | |
| 3061 | 无法转换系统对象 | 除限制之外的所有情况 | |
| 3064 | 在 PostgreSQL 中,不应在 UPDATE 语句的 FROM 子句中重复目标表 | 除限制之外的所有情况 | |
| 3065 | 无法自动转换 FROM 子句中包含自引用表的 DELETE 语句和 OUTER JOIN | 除限制之外的所有情况 | |
| 3069 | 无法转换对账单 | 除限制之外的所有情况 | |
| 3081 | DMS SC 无法转换不支持的 DDL 语句 | 除限制之外的所有情况 | |
| 3088 | PostgreSQL 不支持全局游标 | 除限制之外的所有情况 | |
| 3089 | PostgreSQL 不支持动态游标 | 除限制之外的所有情况 | |
| 3121 | DMS SC 无法转换不支持的数据类型的用法 | 除限制之外的所有情况 | |
| 3122 | DMS SC 无法将算术运算与日期进行转换 | 除限制之外的所有情况 | |
| 3123 | DMS SC 无法转换具有混合类型操作数的算术运算 | 除限制之外的所有情况 | |
| 3146 | PostgreSQL 不支持按位异或运算符 | 除限制之外的所有情况 | |
| 3147 | PostgreSQL 不支持! <(不小于)运算符 | 除限制之外的所有情况 | |
| 3148 | PostgreSQL 不支持 !>(不大于)运算符 | 除限制之外的所有情况 | |
| 3150 | DMS SC 无法转换函数 | 除限制之外的所有情况 | |
| 3156 | PostgreSQL 不支持二进制数据类型的算术运算 | 除限制之外的所有情况 | |
| 3162 | DMS SC 无法使用更新语句转换变量赋值 | 除限制之外的所有情况 | |
| 3163 | DMS SC 无法使用大小写操作数转换算术运算 | 除限制之外的所有情况 | |
| 3168 | PostgreSQL 不支持对二进制数据执行写入操作 | 除限制之外的所有情况 | |
| 3172 | DMS SC 无法转换数据库控制台命令语句 | 除限制之外的所有情况 | |
| 3177 | DMS SC 无法转换系统对象 | 除限制之外的所有情况 | |
| 3182 | DMS SC 无法转换更新(列)或 COLUMNS_UPDATED 语句 | 除限制之外的所有情况 | |
| 3190 | DMS SC 无法转换函数 | 除限制之外的所有情况 | |
| 3191 | PostgreSQL 不支持表值函数 | 除限制之外的所有情况 | |
| 9996 | 出现内部转换器错误 | 除限制之外的所有情况 |
限制
“使用生成式人工智能转换数据库对象”功能具有以下限制:
-
支持生成式 AI 转换的数据库端点在Amazon控制台中不可见。您只能通过将评估报告导出为 PDF 或 CSV 文件来查看。
-
作为一种概率系统,生成式人工智能辅助架构转换可能无法在所有转换中实现 100% 的准确性。它还可能在一段时间内为相同的 SQL 语句生成不同的结果。您必须查看并验证所有转换输出。
-
以下各项不支持生成式人工智能转换:
-
表中的 DEFAULT 约束
-
函数或过程参数的 DEFAULT 值
-
计算表中的列
-
TRIGGER
-
列数据类型
-
动态 SQL
-
INDEX
-
CONSTRAINT
-
-
如果源语句使用多个操作项进行转换,并且使用生成式人工智能处理至少一个操作项,则所有操作项都将替换为 Oracle 目标上的一个操作项 5444 和 Microsoft SQL Server 上的一个操作项 7744。操作项 9997 是一个例外,在使用生成式人工智能处理后被保留下来。
警告
使用生成式人工智能进行转换所需的时间比基本转换更长。
每个Amazon账户都有每分钟配额,限制可以使用生成式 AI 转换的 SQL 语句的数量。超过此限制的语句将在接下来的几分钟内排队等候处理。配额如下:
| Region | 每Amazon账户每分钟 SQL 语句 |
|---|---|
| 美国东部(弗吉尼亚州北部) | 最多 40 个语句 |
| 美国西部(俄勒冈州) | 最多 40 个语句 |
| 欧洲地区(法兰克福) | 最多 40 个语句 |