使用生成式 AI 轉換資料庫物件 - AWS 資料庫遷移服務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用生成式 AI 轉換資料庫物件

DMS 結構描述轉換與生成式 AI 功能透過提供建議來簡化資料庫遷移程序,協助您轉換先前未轉換且通常需要複雜手動轉換的程式碼物件。此功能適用於 Oracle 轉換至 PostgreSQL/Aurora PostgreSQL 和 SQL Server 轉換至 PostgreSQL/Aurora PostgreSQL。您可以轉換整個資料庫結構描述或個別資料庫結構描述物件。

若要使用生成式 AI 轉換來源資料庫物件,請遵循轉換資料庫物件中的步驟 1 到 6,然後繼續使用下列兩種方法之一:

  • 方法 1:從動作功能表中,選取轉換。在出現的轉換對話方塊中,啟用使用生成式 AI 轉換結構描述選項,然後按一下轉換

  • 方法 2:按一下右上角的使用生成式 AI 轉換結構描述。在轉換對話方塊中,確保啟用 選項,然後按一下轉換

若要隨時在 DMS 結構描述轉換主控台中手動調整此設定:

  • 導覽至設定索引標籤。

  • 轉換設定區段中,啟用生成式 AI 選項以核准使用生成式 AI。

注意

支援的區域:

  • 美國東部 (維吉尼亞北部)

  • 美國西部 (奧勒岡)

  • 歐洲 (法蘭克福)

支援的轉換路徑:

  • Oracle 到 Amazon RDS for PostgreSQL

  • Oracle 到 Amazon Aurora PostgreSQL

  • Microsoft SQL Server 到 Amazon RDS for PostgreSQL

  • Microsoft SQL Server 到 Amazon Aurora PostgreSQL

生成式 AI 轉換的範圍

生成式 AI 輔助結構描述轉換著重於具有指定動作項目的特定 SQL 元素。所有其他 SQL 元素都會使用預設規則型方法進行轉換。生成式 AI 轉換擴展範圍內的 SQL 元素包括:

轉換方向 動作項目 訊息 語法元素
Oracle 到 Amazon RDS for PostgreSQL 和 Oracle 到 Amazon Aurora PostgreSQL 5578 AWS DMS 結構描述轉換無法轉換 SELECT 陳述式 限制以外的所有出現
30415 您的 MERGE 陳述式在 WHERE 子句中包含以目標資料表資料欄中的值為基礎的篩選條件 限制以外的所有出現
5591 AWS DMS 結構描述轉換無法轉換系統物件 限制以外的所有出現
5029 AWS DMS 結構描述轉換無法轉換使用具有不支援資料類型的物件 在函數和程序引數中使用不支援 STANDARD.BFILE 資料類型的物件。
5031 AWS DMS 結構描述轉換無法轉換 CURSOR 表達式 限制以外的所有出現
5043 AWS DMS 結構描述轉換無法在 SELECT 子句中使用星號轉換階層式查詢 限制以外的所有出現
5073 PostgreSQL 不支援具有虛擬資料欄的階層式查詢 限制以外的所有出現
5102 PostgreSQL 不支援 MERGE 陳述式 限制以外的所有出現
5585 AWS DMS 結構描述轉換無法將外部聯結轉換為關聯的子查詢 限制以外的所有出現
5608 AWS DMS 結構描述轉換無法轉換具有子查詢的 UPDATE 陳述式,該子查詢會傳回 SET 子句中的多個資料欄 限制以外的所有出現
5619 AWS DMS 結構描述轉換無法轉換系統物件 限制以外的所有出現
5852 PostgreSQL 僅支援資料表做為 MERGE 陳述式中的目標。 限制以外的所有出現
5853 AWS DMS 結構描述轉換僅支援資料表、檢視或子查詢做為 MERGE 陳述式 USING 子句中的來源 限制以外的所有出現
5855 您的 MERGE 陳述式在 WHERE 子句中包含以目標資料表資料欄中的值為基礎的篩選條件 限制以外的所有出現
9996 發生內部轉換器錯誤 限制以外的所有出現
9993 由於參考未解決的物件,無法轉換陳述式 限制以外的所有出現
5598 PostgreSQL 不支援 ROWID 限制以外的所有出現
5340 AWS DMS 結構描述轉換無法轉換函數 限制以外的所有出現
5071 PostgreSQL 不支援子查詢的 INSERT 陳述式 限制以外的所有出現
5068 PostgreSQL 不支援子查詢的 DELETE 陳述式 限制以外的所有出現
5065 PostgreSQL 不支援子查詢的 UPDATE 陳述式 限制以外的所有出現
5586 AWS DMS 結構描述轉換無法使用 NOCYCLE 子句轉換查詢 限制以外的所有出現
5351 AWS DMS 結構描述轉換無法轉換物件 限制以外的所有出現
5077 PostgreSQL 不支援 SELECT 陳述式的 PIVOT 子句 限制以外的所有出現
5126 PostgreSQL 不支援 MODEL 陳述式 限制以外的所有出現
5121 PostgreSQL 不支援 FORALL 陳述式 限制以外的所有出現
5141 AWS DMS 結構描述轉換不支援這種類型的轉換 限制以外的所有出現
5142 AWS DMS 結構描述轉換無法轉換相同方法的巢狀呼叫 限制以外的所有出現
5245 PostgreSQL 不支援具有巢狀資料表資料欄的檢視 限制以外的所有出現
5500 AWS DMS 結構描述轉換無法轉換資料庫郵件傳送 限制以外的所有出現
5501 AWS DMS 結構描述轉換無法轉換排程任務 限制以外的所有出現
5645 PostgreSQL 不支援多個物件資料表目標的 BULK COLLECT INTO 子句。 限制以外的所有出現
5665 PostgreSQL 不支援使用 PRAGMA AUTONOMOUS_TRANSACTION 定義的集合資料類型 限制以外的所有出現
5637 PostgreSQL 不支援大量收集至 VARRAY 的 VARRAY 限制以外的所有出現
5594 AWS DMS 結構描述轉換無法轉換日期時間表達式 限制以外的所有出現
5622 AWS DMS 結構描述轉換會將 參數設為 true 的 dbms_transaction.local_transaction_id 函數轉換為 true 限制以外的所有出現
5643 PostgreSQL 不支援針對 SELECT 陳述式中的多層集合類型的 BULK COLLECT INTO 子句。 限制以外的所有出現
5649 PostgreSQL 不支援多層級集合類型的多集運算子。 限制以外的所有出現
5651 AWS DMS 結構描述轉換無法轉換管道資料表函數 限制以外的所有出現
5793 AWS DMS 結構描述轉換會使用 GRANT ALL 選項建立佇列 限制以外的所有出現
5794 PostgreSQL 預設會將佇列模式設定為 ENABLE 限制以外的所有出現
5795 Amazon Simple Queue Service 不支援處於 DISABLE 模式的佇列 限制以外的所有出現
Microsoft SQL Server 到 Amazon RDS for PostgreSQL 和 Microsoft SQL Server 到 Amazon Aurora PostgreSQL 7610 AWS DMS 結構描述轉換無法轉換不支援的 DDL 陳述式 限制以外的所有出現
7622 AWS DMS 結構描述轉換無法使用複雜的內嵌函數轉換 DELETE 陳述式 限制以外的所有出現
7624 AWS DMS 結構描述轉換無法從沒有主索引鍵之資料表的內嵌函數轉換 DELETE 陳述式 限制以外的所有出現
7626 AWS DMS 結構描述轉換無法使用複雜的內嵌函數轉換 UPDATE 陳述式 限制以外的所有出現
7627 AWS 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 AWS DMS 結構描述轉換無法轉換物件,因為未建立%s物件 限制以外的所有出現
7708 AWS DMS 結構描述轉換無法轉換不支援%s資料類型的使用情況 限制以外的所有出現
7709 AWS DMS 結構描述轉換無法轉換對稱金鑰的使用 限制以外的所有出現
7773 AWS DMS 結構描述轉換無法轉換具有日期的算術操作 限制以外的所有出現
7774 AWS DMS 結構描述轉換無法將算術運算轉換為混合類型的運算元 限制以外的所有出現
7794 PostgreSQL 不支援使用者定義的資料類型 限制以外的所有出現
7796 PostgreSQL 不支援 UPDATE 陳述式中的 TOP 子句 限制以外的所有出現
7797 PostgreSQL 不支援 UPDATE 陳述式中 OUTPUT 子句的 DELETED 資料欄字首 限制以外的所有出現
7798 PostgreSQL 不支援 DELETE 陳述式中的 TOP 子句 限制以外的所有出現
7799 PostgreSQL 不支援 INSERT 運算子中的 TOP 子句 限制以外的所有出現
7804 PostgreSQL 不支援位元專屬 OR 運算子 限制以外的所有出現
7805 PostgreSQL 不支援 !< 限制以外的所有出現
7806 PostgreSQL 不支援 !> (不大於) 運算子 限制以外的所有出現
7811 PostgreSQL 不支援 %s 函數。 AWS DMS 結構描述轉換會略過轉換程式碼中這個不支援的函數 限制以外的所有出現,DDL 除外
7816 PostgreSQL 不支援 XML 資料類型的方法 限制以外的所有出現
7817 PostgreSQL 不支援 SQL 查詢中的 FOR XML PATH 選項 限制以外的所有出現
7818 PostgreSQL 不支援具有二進位資料類型的算術操作 限制以外的所有出現
7819 PostgreSQL 不支援 INSERT...EXECUTE 陳述式 限制以外的所有出現
7820 PostgreSQL 不支援 VALUE() 方法 限制以外的所有出現
7824 MERGE 陳述式不支援 RECURSIVE CTE 限制以外的所有出現
7829 AWS DMS 結構描述轉換無法使用 UPDATE 陳述式轉換變數指派 限制以外的所有出現
7830 AWS DMS 結構描述轉換無法使用 CASE 運算元轉換算術操作 限制以外的所有出現
7832 AWS DMS 結構描述轉換無法在檢視上轉換 INSTEAD OF 觸發 限制以外的所有出現
7833 AWS DMS 結構描述轉換無法在目前內容中轉換@@rowcount函數 限制以外的所有出現
7836 PostgreSQL 不支援二進位資料的寫入操作 限制以外的所有出現
7840 AWS DMS 結構描述轉換無法轉換資料庫主控台命令陳述式 限制以外的所有出現
7904 AWS DMS 結構描述轉換無法轉換 %s 系統物件 限制以外的所有出現
7905 PostgreSQL 不支援 SELECT 陳述式的 PIVOT 子句 限制以外的所有出現
7906 PostgreSQL 不支援 SELECT 陳述式的 UNPIVOT 子句 限制以外的所有出現
7909 AWS DMS 結構描述轉換無法轉換 UPDATE(column) 或 COLUMNS_UPDATED 陳述式 限制以外的所有出現
7916 AWS 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 不支援沒有主索引鍵的自我參考資料表的 OUTER 聯結 限制以外的所有出現
7929 AWS DMS 結構描述轉換無法從 EXEC 陳述式轉換 INSERT 限制以外的所有出現
7939 AWS DMS 結構描述轉換無法轉換 %s JSON 系統函數 限制以外的所有出現
7940 AWS DMS 結構描述轉換無法轉換 OPENJSON 系統資料表值函數 限制以外的所有出現
7941 AWS DMS 結構描述轉換無法轉換所有開啟的資料集,因為您有多個開啟的資料集 限制以外的所有出現
9996 發生內部轉換器錯誤 限制以外的所有出現

限制

轉換具有生成式 AI 功能的資料庫物件有下列限制:

  • AWS 主控台中看不到支援生成式 AI 轉換的資料庫端點。您只能透過將評估報告匯出為 PDF 或 CSV 檔案來檢視它們。

  • 作為機率系統,生成式 AI 輔助結構描述轉換可能無法在所有轉換中達到 100% 的準確性。它也可以在一段時間內為相同的 SQL 陳述式產生不同的結果。您必須檢閱並驗證所有轉換輸出。

  • 以下 不支援生成式 AI 轉換:

    • 資料表中的 DEFAULT 限制條件

    • 函數或程序參數的 DEFAULT 值

    • TRIGGER

    • COLUMN 資料類型

    • 動態 SQL

    • INDEX

    • CONSTRAINT

  • 如果使用多個動作項目轉換來源陳述式,並使用生成式 AI 處理至少一個動作項目,則所有動作項目都會取代為 Oracle 目標上的一個動作項目 5444,以及 Microsoft SQL Server 的 7744。動作項目 9997 是使用生成式 AI 處理後儲存的例外狀況。

警告

使用生成式 AI 的轉換需要比基本轉換更長的時間。

每個 AWS 帳戶都有每分鐘配額,限制可使用生成式 AI 轉換的 SQL 陳述式數量。超過此限制的陳述式會在後續幾分鐘內排入佇列進行處理。配額如下所示:

區域 每個 AWS 帳戶的 SQL 陳述式每分鐘
美國東部 (維吉尼亞北部) 最多 20 個陳述式
美國西部 (奧勒岡) 最多 100 個陳述式
歐洲 (法蘭克福) 最多 10 個陳述式