View a markdown version of this page

離線來源和虛擬目標的虛擬模式 - AWS 資料庫遷移服務

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

離線來源和虛擬目標的虛擬模式

AWS Database Migration Service (DMS) 為結構描述轉換中的資料提供者提供虛擬模式虛擬模式支援兩種使用案例:

  • 離線來源 – 從匯出的指令碼檔案轉換結構描述,而不連接到您的來源資料庫。當無法直接連線至來源資料庫時,請使用此選項。離線來源的虛擬模式目前適用於 Microsoft SQL Server 來源資料庫。

  • 虛擬目標 – 轉換結構描述而不佈建目標資料庫。您可以在佈建目標基礎設施之前評估相容性、轉換和檢閱結構描述程式碼,以及測試不同的目標選項。虛擬模式適用於所有支援的目標資料庫。如需受支援目標資料庫的詳細資訊,請參閱 在 DMS 結構描述轉換中建立和設定目標資料提供者

在虛擬模式中建立資料提供者

若要在虛擬模式中建立資料提供者,請在建立資料提供者頁面上開啟虛擬模式。如需詳細資訊,請參閱建立 DMS 結構描述轉換的資料提供者

在虛擬模式中使用資料提供者

在遷移專案的虛擬模式中使用資料提供者
  1. 建立新的遷移專案,或選擇現有的遷移專案,然後選擇修改

  2. 針對來源或目標資料提供者,選擇開啟虛擬模式的資料提供者。

  3. 針對秘密,選擇任何現有的有效秘密。

    注意

    當您建立或修改遷移專案時,您可以為所有資料提供者指定秘密和 IAM 角色,包括開啟虛擬模式的資料提供者。對於虛擬模式中的資料提供者,這些登入資料不會用於連線至資料庫。

  4. 針對 IAM 角色,選擇具有秘密讀取存取權的 IAM 角色。

  5. 選擇儲存變更

  6. 選擇結構描述轉換索引標籤。

  7. 選擇啟動架構轉換。等待專案啟動。

結構描述轉換在虛擬模式中與資料提供者搭配使用的方式與直接連線相同。DMS 結構描述轉換會停用需要資料庫連線的動作。

對於離線來源,從資料庫重新整理可在來源樹狀結構的資料庫節點上使用。此動作會清除物件樹狀結構,並從 S3 儲存貯體中的資料定義語言 (DDL) 指令碼重新載入中繼資料。

對於虛擬目標,請在目標樹狀結構上使用另存為 SQL 來匯出轉換後的結構描述程式碼。

離線來源

當您為來源資料提供者開啟虛擬模式時,您可以從匯出的指令碼檔案轉換結構描述,而無需連線到來源資料庫。當無法直接連線至來源資料庫時,請使用此選項。您可以提供描述來源資料庫物件的 DDL 指令碼。開始之前,請確定符合下列要求。

離線來源的先決條件

支援的來源資料庫方言
  • 從 Microsoft SQL Server 匯出的 DDL 指令碼

    注意

    您可以使用 SQL Server Management Studio (SSMS) 或 SQL Server Management Objects (SMO) 匯出資料庫物件。如需詳細資訊,請參閱匯出 SQL Server 資料庫物件

DDL 指令碼需求
  • 每個資料庫物件都會儲存為具有 Unicode 編碼的個別.sql檔案。

  • 在每個資料庫的CREATE DATABASE陳述式中包含個別.sql的檔案。

  • 每個物件檔案都以識別物件所屬來源資料庫的USE [database_name]陳述式開頭。

  • 每個檔案都包含一個資料庫物件的CREATE陳述式。

  • 指令碼中參考的資料庫物件使用符合結構描述資格的名稱 (例如,dbo.TableName)。如果未指定結構描述,dbo則會使用 。

  • 檔案中的任何 ALTERDROP陳述式都會略過。

注意

匯出時,SQL Server 可能會將其他陳述式與主要CREATE陳述式一起包含在同一個檔案中。DMS 結構描述轉換會處理下列項目:

  • CREATE INDEX – 資料表上定義的索引

  • CREATE TRIGGER – 與資料表相關聯的觸發

  • ALTER TABLE ... ADD DEFAULT – 欄的預設值

  • ALTER TABLE ... ADD CONSTRAINT DEFAULT – 命名的預設限制條件

  • ALTER TABLE ... ALTER COLUMN ... NOT FOR REPLICATION – 資料欄複寫設定

會略過 檔案中的所有其他 ALTERDROP陳述式。

S3 資料夾結構

DMS 結構描述轉換會掃描您指定的 S3 路徑下的所有資料夾。它會搜尋.sql檔案以載入資料庫物件。S3 路徑可以指向儲存貯體或儲存貯體中的任何字首。每個檔案中的 USE [database_name]陳述式會識別該物件的來源資料庫。

將每個資料庫的指令碼存放在不同的資料夾中,以避免檔案名稱和物件名稱衝突。

S3 儲存貯體組態
  • 將 DDL 指令碼上傳至 Amazon S3 儲存貯體。

  • 建立允許 DMS 服務主體 (dms.amazonaws.com) 擔任的 IAM 角色,並將授予s3:GetObjects3:ListBucket許可範圍的政策連接到 S3 儲存貯體。如需詳細資訊,請參閱設定離線來源的 S3 存取許可

虛擬目標

目標資料提供者中的虛擬模式可讓您執行結構描述轉換,而無需佈建目標資料庫。當您準備好遷移時,可以切換到直接資料庫連線。

將目標資料提供者從虛擬模式切換到直接資料庫連線

當您準備好繼續進行遷移時,請修改資料提供者以清除虛擬模式並使用直接資料庫連線。

重要

關閉虛擬模式並儲存資料提供者之後,就無法重新開啟。您必須提供資料提供者的資料庫連線詳細資訊,以及相關遷移專案中有效的秘密和 IAM 角色。

虛擬模式切換至直接資料庫連線
  1. 登入 AWS 管理主控台,然後開啟 DMS AWS 主控台。

  2. 在導覽窗格中,請選擇資料提供者。然後選擇要修改的資料提供者。

  3. 關聯的遷移專案區段中,檢閱使用此資料提供者的所有遷移專案。

  4. 選擇第一個相關聯的專案。

  5. 選擇結構描述轉換索引標籤。

  6. 檢查選項詳細資訊區段 - 狀態

  7. 如果狀態為開啟,且按鈕關閉結構描述轉換不會變成灰色,請選擇它並等待專案關閉。

  8. 對所有剩餘的相關聯遷移專案重複上述步驟。

  9. 確認沒有剩餘的開放專案。

  10. 返回資料提供者,然後選擇修改

  11. 關閉虛擬模式

  12. 輸入資料庫的連線設定。連線參數取決於資料庫引擎。如需詳細資訊,請參閱建立資料提供者

  13. 選擇儲存變更

    注意

    儲存變更後,您無法重新開啟虛擬模式

  14. 返回 DMS AWS 主控台。

  15. 在導覽窗格中,選擇遷移專案。然後選擇要變更其資料提供者的遷移專案。

  16. 選擇 Modify (修改)。

  17. 針對機密,選擇包含資料庫登入資料的機密。

  18. 針對 IAM 角色,選擇要用來讀取秘密的 IAM 角色。檢查此處指定的 IAM 角色是否正確、在連線登入資料秘密上被授予讀取,並且可供 AWS DMS 結構描述轉換服務使用。

  19. 選擇儲存變更

  20. 選擇結構描述轉換索引標籤。

  21. 選擇啟動架構轉換。等待專案啟動。

當您在轉換資料提供者之後第一次啟動專案時,您可以檢視轉換結果。您只能執行下列動作:

  • 在節點結構描述上 - 從資料庫重新整理。

  • 在資料庫物件上 - 套用變更,然後儲存為 SQL。

套用動作會將轉換後的物件套用至資料庫。

資料庫動作重新整理會從實際資料庫載入資料庫物件。任何未儲存的轉換物件都會遺失。