本頁面說明如何使用資料庫遷移服務,將自行管理的 SQL Server 資料庫或 Amazon RDS SQL Server 資料庫,遷移至 SQL Server 適用的 Cloud SQL 執行個體。如要瞭解如何從 SQL Server 適用的 Cloud SQL 執行個體遷移,請參閱「 SQL Server 適用的 Cloud SQL 來源遷移指南」。
遷移程序包含下列工作:
從來源 SQL Server 執行個體匯出完整資料庫備份和交易記錄檔。
您也可以在遷移過程中使用選用的差異資料庫備份。
將備份檔案上傳至 Cloud Storage bucket。
建立目的地 SQL Server 適用的 Cloud SQL 執行個體。
在資料庫遷移服務建立及執行遷移工作。
使用資料庫遷移服務觀測功能,監控遷移工作進度。
在資料完整移轉後推送移轉工作。
費用
如要將同質資料庫遷移至 Cloud SQL,不必支付額外費用即可使用資料庫遷移服務。不過,Cloud SQL 和 Cloud Storage 的定價適用於網路費用,以及為遷移目的建立的 Cloud SQL 和 Cloud Storage 實體。
在本文件中,您會使用下列Google Cloud計費元件:
- Cloud Storage
- Cloud SQL
您可以使用 Pricing Calculator,根據預測用量估算費用。
事前準備
- 確認這個遷移路徑是否能完全支援您的情境。請參閱「SQL Server 已知限制」。
- 請考量要在哪個區域建立目的地資料庫。資料庫遷移服務是完全區域性的產品,也就是說,與遷移作業相關的所有實體 (來源和目的地連線設定檔、遷移工作、目的地資料庫、儲存空間 bucket) 都必須儲存在單一區域。
- 在 Google Cloud 控制台的專案選取器頁面中,選取或 建立 Google Cloud 專案。
- 啟用資料庫遷移服務、Compute Engine、Cloud Storage 和 Cloud SQL Admin API。
必要的角色
如要取得使用資料庫遷移服務執行同質 SQL Server 遷移作業所需的權限,請要求管理員在專案中,為 遷移程序涉及的下列帳戶授予必要的 IAM 角色
- 執行遷移作業的使用者帳戶:
-
資料庫遷移管理員 (
roles/datamigration.admin) -
Storage 管理員 (
roles/storage.admin) -
Cloud SQL 編輯者 (
roles/cloudsql.editor)
-
資料庫遷移管理員 (
- 資料庫遷移服務服務帳戶:
-
資料庫遷移管理員 (
roles/datamigration.admin) -
Storage 管理員 (
roles/storage.admin) -
Cloud SQL 編輯者 (
roles/cloudsql.editor) -
Cloud SQL Studio 使用者 (
roles/cloudsql.studioUser)
-
資料庫遷移管理員 (
如要進一步瞭解如何授予角色,請參閱「 管理存取權」。
這些預先定義的角色具備必要權限,可透過資料庫遷移服務執行同質 SQL Server 遷移作業。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要使用資料庫遷移服務執行同質 SQL Server 遷移作業,必須具備下列權限:
- 執行遷移作業的使用者帳戶:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.operations.getcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.importcloudsql.databases.getcloudsql.databases.listcloudsql.databases.deletecompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.list
- 資料庫遷移服務服務帳戶:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.executeSqlstorage.objects.createstorage.objects.list
您或許還可透過 自訂角色或其他 預先定義的角色取得這些權限。
準備來源資料
如要準備要遷移的來源資料,請按照下列步驟操作:
考量遷移程序的備份策略。 資料庫遷移服務支援使用差異備份和交易記錄檔,遷移完整備份後出現在資料庫中的資料。
完整備份來源 SQL Server 資料庫。 請務必使用正確的命名模式。
準備 Cloud Storage bucket,並將備份檔案上傳至該 bucket。 請務必為要使用的每種備份檔案類型設定必要的目錄結構。
為 Cloud Storage bucket 建立來源連線設定檔。
準備 SQL Server 適用的 Cloud SQL 目的地執行個體
如要設定目的地 Cloud SQL 執行個體,請按照下列步驟操作:
建立並設定 SQL Server 適用的 Cloud SQL 目的地執行個體。 請務必使用足夠的運算和記憶體資源,滿足遷移需求,並將 Storage 管理員 (
roles/storage.admin) 角色指派給執行個體的服務帳戶。為 Cloud SQL 執行個體建立目的地連線設定檔。
建立並執行遷移工作
如要設定及執行遷移作業,請按照下列步驟操作:
-
啟動遷移工作時,目的地 SQL Server 適用的 Cloud SQL 資料庫會進入復原模式,由資料庫遷移服務全代管。資料完整遷移後,即可推送目的地執行個體。目的地執行個體升級後,該執行個體中的所有資料庫都會完全運作。您也將獲得這些資料庫的完整寫入權限。
您可以使用資料庫遷移服務觀測功能,監控遷移進度和目的地執行個體健康狀態。請參閱「 遷移工作指標」。
持續將新的交易記錄備份檔案上傳至 Cloud Storage bucket。
如要涵蓋執行完整備份匯出作業後,來源資料庫中出現的資料,請 匯出交易記錄備份檔案,並上傳至 Storage bucket。資料庫遷移服務會自動偵測新檔案、讀取內容,並將資料推送至目的地執行個體。請參閱「 自動匯出交易記錄」。
完成遷移作業
決定將應用程式切換至新的 SQL Server 適用的 Cloud SQL 執行個體後,請按照下列步驟完成遷移作業:
- 停止來源資料庫的所有寫入作業。您可以將其切換為唯讀模式,以保留作業功能。
- 取得最後一個交易記錄備份,將檔案上傳至儲存空間 bucket,然後在資料庫遷移服務中停止增量載入階段。您可以執行下列任一操作,達到這個結果:
- 停止 自動上傳備份檔案,或上傳最後一個交易記錄檔。監控 未處理的交易記錄備份大小,判斷資料庫遷移服務何時會處理完該檔案。
- 您也可以上傳名稱結尾為
.trn.final後置字串的交易記錄檔。資料庫遷移服務偵測到名稱符合.trn.final後置字串慣例的備份檔案時,就會停止持續載入。資料庫遷移服務處理完該檔案後,遷移工作狀態會變更為 準備升級。
- 升級遷移工作。
- (選用) 驗證遷移資料的完整性。