將 SQL Server 資料庫遷移至 SQL Server 適用的 Cloud SQL

本頁說明如何使用資料庫遷移服務,將自行管理或 Amazon RDS SQL Server 資料庫遷移至 SQL Server 適用的 Cloud SQL 執行個體。如需從 SQL Server 適用的 Cloud SQL 執行個體遷移的相關操作說明,請參閱 Cloud SQL for SQL Server 來源的遷移指南

遷移程序包含下列工作:

  1. 從來源 SQL Server 執行個體匯出完整資料庫備份和交易記錄檔。

    您也可以在遷移程序中使用選用的差異資料庫備份。

  2. 將備份檔案上傳至 Cloud Storage bucket。

  3. 建立目的地 SQL Server 適用的 Cloud SQL 執行個體。

  4. 在資料庫遷移服務建立及執行遷移工作。

  5. 使用資料庫遷移服務的可觀測性功能,監控遷移工作進度。

  6. 在資料完整移轉後推送移轉工作。

費用

對於同質遷移作業至 Cloud SQL,不必支付額外費用即可使用資料庫遷移服務。不過,網路費用以及為遷移作業建立的 Cloud SQL 和 Cloud Storage 實體,都適用 Cloud SQL 和 Cloud Storage 定價。

在本文件中,您會使用下列Google Cloud的計費元件:

  • Cloud Storage
  • Cloud SQL

如要根據預測用量估算費用,請使用價格計算機

事前準備

  1. 確認這個遷移路徑是否完全支援您的情境。 請參閱「SQL Server 已知限制」。
  2. 請考慮要在哪個區域建立目的地資料庫。 資料庫遷移服務是完全區域性的產品,也就是說,與遷移作業相關的所有實體 (來源和目的地連線設定檔、遷移工作、目的地資料庫、儲存空間值區) 都必須儲存在單一區域。
  3. 在 Google Cloud 控制台的專案選擇器頁面中,選取或建立 Google Cloud 專案

    前往專案選取器

  4. 啟用資料庫遷移服務、Compute Engine、Cloud Storage 和 Cloud SQL Admin API。

    啟用 API

必要的角色

如要取得使用 資料庫遷移服務 執行同質 SQL Server 遷移作業所需的權限,請要求管理員在專案中,為 遷移程序涉及的帳戶授予必要的 IAM 角色

如要進一步瞭解如何授予角色,請參閱「 管理存取權」。

這些預先定義的角色具備使用資料庫移轉服務,執行相同系統的 SQL Server 遷移作業所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要使用資料庫遷移服務執行同質 SQL Server 遷移作業,您必須具備下列權限:

  • 執行遷移作業的使用者帳戶:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.operations.get
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.import
    • cloudsql.databases.get
    • cloudsql.databases.list
    • cloudsql.databases.delete
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list
  • 資料庫遷移服務服務帳戶:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.executeSql
    • storage.objects.create
    • storage.objects.list

您或許還可透過 自訂角色或其他 預先定義的角色取得這些權限。

準備來源資料

如要準備要移轉的來源資料,請按照下列步驟操作:

  1. 考量遷移程序的備份策略。 資料庫遷移服務支援使用差異備份和交易記錄檔案,遷移完整備份後出現在資料庫中的資料。

  2. 對來源 SQL Server 資料庫執行完整備份。 請務必使用正確的命名模式。

  3. 準備 Cloud Storage bucket,並將備份檔案上傳至該 bucket。 請務必為要使用的每個備份檔案類型設定必要的目錄結構。

  4. 為 Cloud Storage bucket 建立來源連線設定檔

準備 SQL Server 適用的 Cloud SQL 目的地執行個體

如要設定目的地 Cloud SQL 執行個體,請按照下列步驟操作:

  1. 建立及設定 SQL Server 適用的 Cloud SQL 目的地執行個體。請務必使用足夠的運算和記憶體資源來滿足遷移需求,並將 Storage 管理員 (roles/storage.admin) 角色指派給執行個體的服務帳戶。

  2. 為 Cloud SQL 執行個體建立目的地連線設定檔

建立並執行遷移工作

如要設定及執行遷移作業,請按照下列步驟操作:

  1. 建立並執行遷移工作

    啟動遷移工作後,目的地 SQL Server 適用的 Cloud SQL 資料庫會進入復原模式,由資料庫遷移服務全面管理。資料完整遷移後,即可升級目標執行個體。升級目的地執行個體後,該執行個體中的所有資料庫都會完全正常運作。您也會獲得這些資料庫的完整寫入權限。

    您可以使用資料庫遷移服務的監控功能,監控遷移進度和目的地執行個體的健康狀態。請參閱 遷移工作指標

  2. 持續將新的交易記錄備份檔案上傳至 Cloud Storage bucket。

    如要涵蓋完整備份匯出作業後出現在來源資料庫中的資料,請 匯出交易記錄備份檔案,並上傳至儲存空間值區。資料庫遷移服務會自動偵測新檔案、讀取檔案內容,並將資料推送至目的地執行個體。請參閱「 自動匯出交易記錄」。

完成遷移作業

決定將應用程式切換至新的 SQL Server 適用的 Cloud SQL 執行個體時,請按照下列步驟完成遷移作業:

  1. 停止對來源資料庫的所有寫入作業。您可以將這些檔案切換為唯讀模式,保留運作功能。
  2. 取得最後的交易記錄備份、將檔案上傳至儲存空間 bucket,並停止資料庫遷移服務的增量載入階段。如要達到這個目標,請執行下列其中一項動作:
    • 停止 自動上傳備份檔案,或上傳最後一個交易記錄檔。監控「未處理的交易記錄備份大小」,判斷資料庫遷移服務何時會處理完該檔案。
    • 你也可以視需要上傳名稱結尾為 .trn.final 後置字串的交易記錄檔。如果偵測到備份檔案名稱符合 .trn.final後置字串慣例,資料庫遷移服務就會停止持續載入。

      資料庫遷移服務處理完該檔案後,遷移作業狀態會變更為「Ready to promote」(準備升級)

  3. 升級遷移工作
  4. (選用) 確認遷移資料是否完整。