本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
上傳 DDL 檔案 (離線工作流程)
在此工作流程中, AWS Transform 完全從上傳的 DDL 檔案現代化您的結構描述,不需要直接連線至資料庫。您可以針對 SQL Server 執行提供的擷取指令碼、上傳產生的結構描述檔案,以及 AWS 轉換探索、評估、轉換和部署結構描述至 Amazon Aurora PostgreSQL。當您的資料庫無法公開至直接連線,或您希望在授予網路存取之前進行可行性評估和結構描述轉換時,請選擇此工作流程。
重要
離線工作流程只會轉換和部署您的結構描述。它不會遷移真實資料。如果可用,您可以產生合成測試資料來驗證目標。如果您需要遷移真實資料,請使用 AWS DMS 主控台建立新的資料遷移專案。
離線工作流程的先決條件
支援的 SQL Server 版本 (2008 R2 到 2022,所有版本)。
PowerShell 7 或更新版本來執行擷取指令碼。PowerShell 已預先安裝在 Windows 上。在 macOS 或 Linux 上安裝 PowerShell 7+ 並使用 執行指令碼
pwsh。請參閱 Microsoft 安裝指南。 PATH 上可用的
sqlcmd公用程式。請參閱 sqlcmd 公用程式。 至少具有 和
VIEW ANY DEFINITION許可VIEW SERVER STATE的 SQL Server 身分驗證登入 (使用者名稱和密碼)。指令碼不支援 Windows 或網域身分驗證。啟用 IAM Identity Center 或 IAM 身分驗證後期階段 AWS 的帳戶 (建立 Aurora PostgreSQL 目標並部署轉換後的結構描述)。
結構描述分析和轉換階段 AWS 不需要對 進行傳入或傳出資料庫連線。
工作流程步驟
-
上傳 DDL 檔案 — AWS Transform 在聊天中提供擷取指令碼的下載按鈕。針對 SQL Server 下載並執行指令碼。選擇性地限制擷取到具有逗號分隔包含清單 (不區分大小寫) 的特定資料庫。指令碼會產生 SQL DDL 檔案
.zip的時間戳記。使用聊天上傳按鈕上傳.zip(或個別.sql檔案)。 -
探索 – AWS 轉換會剖析上傳的檔案,並依資料庫分組為資料庫物件 (資料表、預存程序、檢視、觸發條件、索引、限制條件、序列等) 編製目錄。您可以檢閱每個資料庫摘要,然後選擇要評估的資料庫。如果某些陳述式無法剖析, AWS Transform 會報告問題,並可讓您繼續使用剖析的物件、選擇特定資料庫或上傳更正的檔案。
-
評估: AWS Transform 會評估所選資料庫的轉換可行性,並產生可下載的報告,其中包含執行摘要、每個資料庫物件摘要,以及level-of-effort (LOE) 估計。自訂 LOE 分數、上傳其他檔案,或繼續轉換。
-
結構描述轉換: AWS 轉換會將 SQL Server 結構描述 (包括 T-SQL 預存程序) 轉換為 Aurora PostgreSQL,一次一個資料庫。單一資料庫會自動轉換;使用多個資料庫,您可以選擇要轉換哪個資料庫。資料庫會獨立並平行轉換。
-
目標佈建 — 對於每個轉換的資料庫, AWS Transform 會在您的帳戶中建立或重複使用 Amazon Aurora PostgreSQL 叢集 AWS 。您可以透過引導式提示選擇聯網和目標組態。
-
結構描述部署 — AWS Transform 會將轉換後的結構描述套用至 Aurora 叢集。部署後,修正聊天或 IDE 中的剩餘物件、產生合成測試資料 (如果可用) 或完成。
-
應用程式碼現代化 (選用) — AWS Transform 可以更新相關聯的 .NET 6+ 應用程式,以使用 Aurora PostgreSQL。此服務會更新來源碼中的資料庫連線,並修改實體架構和 ADO.NET 中的 ORM 程式碼,以在人工監督的統一工作流程中與 Aurora PostgreSQL 相容。使用適用於 GitHub 和 GitLab 的 AWS CodeConnections 或個人存取字符 (PAT) 連接您的原始碼儲存庫,或為包含原始碼的 zip 檔案提供 S3 URI。
注意
Amazon Aurora PostgreSQL 是此工作流程唯一支援的目標引擎。
離線工作流程的服務限制
下列預設限制適用於離線工作流程。有些限制可為每個帳戶設定;請聯絡您的 AWS 客戶團隊請求增加。
| 限制 | 預設 | 適用對象 |
|---|---|---|
| 上傳每個任務的大小 | 1,024 MB (1 GB),跨任務中的所有上傳累積 | 上傳 DDL 檔案 |
| 每月轉換的資料庫 | 每個帳戶 10 個 | 結構描述轉換 |
| 每個資料庫的存放程序 | 250 | 結構描述轉換 |
| 並行結構描述轉換 | 一次 5 個資料庫 | 結構描述轉換 |
| 並行執行中的任務 | 5 | 每個帳戶 |
上傳大小限制是每個工作的累積預算。如果您重設輸入設定,預算會清除 (這會捨棄已上傳的檔案,並在相同任務中重新執行探索和評估)。
當您選擇超過 5 個資料庫進行轉換時,其他資料庫會排入佇列,並在執行轉換完成時自動啟動。
Storagestored-procedure-per-database 限制絕不會封鎖評估;只會影響結構描述轉換。
離線工作流程疑難排解
擷取指令碼
pwsh: command not found(macOS/Linux) — 未安裝 PowerShell 7+。安裝並執行pwsh ./ExtractDatabaseMetadata.ps1。參考錯誤
sqlcmd—sqlcmd公用程式不在 PATH 上。安裝它,並確保它位於 PATH 上。登入或許可錯誤:搭配
VIEW SERVER STATE和 使用 SQL Server 身分驗證登入VIEW ANY DEFINITION。不支援 Windows/網域身分驗證。只有一些匯出的資料庫 — 包含清單縮小範圍。在沒有它的情況下重新執行,或指定正確的逗號分隔資料庫名稱。
上傳
使用大小訊息拒絕上傳 — 超過每個工作的上傳預算。上傳較小的檔案,或要求客服人員重設輸入設定,以清除相同任務中的預算。向客服人員詢問目前的剩餘預算,而不是預估。
不接受檔案 — 上傳指令碼
.zip產生的 或個別.sql檔案。將多個檔案壓縮為單一封存。
探索
偵測到 SQL 語法問題 — 下載問題報告。無錯誤區段中的物件仍會編製目錄。選擇 以繼續剖析的物件、選擇特定資料庫,或上傳更正的檔案。
以通用名稱分組的物件 — 剖析器找不到
USE [Database]陳述式。出現提示時,請提供正確的資料庫名稱。找不到物件 — 檔案不包含
CREATE任何陳述式,或全部無法剖析。重新上傳有效的 DDL。
評估
LOE 預估注視 — 選擇自訂 LOE 分數、編輯範本並重新上傳以重新產生評估。
遺失物件 — 選擇上傳其他 SQL 檔案;探索和評估會自動重新執行。
結構描述轉換
資料庫轉換失敗 — AWS 轉換報告原因。回覆要求重試;轉換會重新啟動該資料庫。
回應傳送至錯誤的資料庫 — 當多個資料庫正在等待輸入時,請指定訊息的資料庫。您可以使用 處理特定資料庫
@DatabaseName:。
目標佈建和部署
無法建立 Aurora 叢集 — 完成引導憑證和聯網提示,並確保帳戶具有建立 Aurora PostgreSQL 的許可。
有些物件未部署 — 使用部署後選項來修正聊天或 IDE 中剩餘的物件,然後重新部署。