在 Google Cloud 控制台中,您可以對 狀態相同的遷移作業執行批次動作。您可以在 Google Cloud 控制台和使用 Google Cloud CLI,對單一遷移作業執行動作。
您可以對遷移工作執行下列動作:
動作 | 說明 |
---|---|
編輯 | 您可以編輯非草稿的遷移工作,進行下列變更: |
開始 | 啟動不處於「執行中」或「啟動中」狀態的遷移工作。請參閱 遷移工作狀態。 |
停止 | 停止執行中的遷移工作。資料移動作業已暫停。
遷移工作狀態會先變更為 Stopping ,
然後變更為 Stopped 。您可以繼續、刪除或升級已停止的遷移工作。 |
繼續 | 如果在遞增載入期間停止遷移工作,稍後可以繼續執行。繼續執行移轉工作時,資料庫移轉服務會擷取移轉工作停止期間累積的所有交易記錄檔。 |
重新啟動 |
如果遷移工作發生錯誤,無法繼續複製資料,您可以重新啟動該工作。 重新啟動遷移工作後會發生什麼情況,取決於遷移工作失敗的原因:
|
刪除 | 您可以刪除遷移工作。結果取決於工作狀態:
|
宣傳 | 在遷移過程中,目的地 SQL Server 適用的 Cloud SQL 資料庫會進入復原模式,由資料庫移轉服務全面管理。您必須先升級遷移工作或所選資料庫,才能對目的地資料庫執行任何讀取或寫入作業。詳情請參閱 升級遷移作業。 |
查看 | 您可以查看遷移工作中的特定資料庫詳細資料,或查看您選取要遷移的所有資料庫。 |
啟動遷移工作
完整建立遷移工作後 (也就是未儲存為草稿),您隨時可以啟動工作,開始遷移資料。
如要啟動遷移作業,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「Jobs」分頁中,按一下要啟動的遷移工作顯示名稱。
系統會開啟遷移工作詳細資料頁面。
- 按一下「啟動」。
- 在對話方塊中,按一下「開始」。
gcloud
使用下方的任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,其中包含儲存連線設定檔的區域 ID。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
結果
這項動作會以非同步方式執行。 因此,這項指令會傳回代表長期執行作業的「作業實體」:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
停止遷移工作
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「Jobs」分頁中,按一下要啟動的遷移工作顯示名稱。
系統會開啟遷移工作詳細資料頁面。
- 按一下「停止」。
- 在對話方塊中,按一下「停止」。
gcloud
使用下方的任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,其中包含儲存連線設定檔的區域 ID。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration migration-jobs \ stop MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` stop MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ stop MIGRATION_JOB_ID ^ --region=REGION
結果
這項動作會以非同步方式執行。 因此,這項指令會傳回代表長期執行作業的「作業實體」:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: stop name: OPERATION_ID
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
繼續執行遷移工作
如要繼續 停止的遷移工作,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「Jobs」分頁中,按一下要啟動的遷移工作顯示名稱。
系統會開啟遷移工作詳細資料頁面。
- 按一下「繼續」。
- 在對話方塊中,按一下「繼續」。
gcloud
使用下方的任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,其中包含儲存連線設定檔的區域 ID。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration migration-jobs \ resume MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` resume MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ resume MIGRATION_JOB_ID ^ --region=REGION
結果
這項動作會以非同步方式執行。 因此,這項指令會傳回代表長期執行作業的「作業實體」:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: resume name: OPERATION_ID
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
重新啟動遷移工作
如要重新啟動遷移作業,請執行下列步驟:
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「工作」分頁中,按一下要重新啟動的遷移工作顯示名稱。
系統會開啟遷移工作詳細資料頁面。
- 執行下列任一項重新啟動動作:
如要重新啟動遷移作業中的所有資料庫,請在遷移工作的工具列上按一下「重新啟動」。
系統會顯示「重新啟動遷移工作」對話方塊。
如要只重新啟動特定資料庫,請使用資料庫名稱旁的核取方塊選取資料庫,然後在「資料庫」分頁中按一下「重新啟動」。
系統會顯示對話方塊,內含您要重新啟動的資料庫數量。
- 在對話方塊中,按一下「重新啟動」。
gcloud
使用下方的任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,其中包含儲存連線設定檔的區域 ID。
選用:根據預設,資料庫移轉服務會遷移來源中的所有資料庫。如要只遷移特定資料庫,請使用
--databases-filter
旗標,並以半形逗號分隔清單的形式指定資料庫 ID。例如:
--databases-filter=my-business-database,my-other-database
日後您可以使用
gcloud database-migration migration-jobs update
指令,編輯使用--database-filter flag
建立的遷移作業。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration migration-jobs \ restart MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` restart MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ restart MIGRATION_JOB_ID ^ --region=REGION
結果
這項動作會以非同步方式執行。 因此,這項指令會傳回代表長期執行作業的「作業實體」:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: restart name: OPERATION_ID
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
更新遷移工作草稿
如要完成建立遷移作業,請執行下列步驟:
控制台
gcloud
這個範例使用選用的 --no-async
標記,因此所有作業都會同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async
標記,以非同步方式執行指令。如果有的話,您需要使用
gcloud database-migration operations describe
指令,確認作業是否成功。
使用下方的任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作的機器可讀取 ID。
- REGION,其中包含要儲存連線設定檔的區域 ID。
- MIGRATION_JOB_NAME,並為遷移工作提供可理解的名稱。這個值會顯示在 Google Cloud 控制台的資料庫移轉服務中。
- SOURCE_CONNECTION_PROFILE_ID,並附上來源連線設定檔的機器可讀取 ID。
- DESTINATION_CONNECTION_PROFILE_ID 目的地連線設定檔的機器可讀取 ID。
- 差異備份設定:您可以設定遷移工作是否能使用 Cloud Storage bucket 中的差異備份檔案。在指令中加入下列其中一個旗標:
--sqlserver-diff-backup
,為遷移作業啟用差異備份檔案--no-sqlserver-diff-backup
停用遷移作業的差異備份檔案
如要進一步瞭解支援的備份檔案,請參閱「 支援的備份檔案類型」。
- COMMA_SEPARATED_DATABASE_ID_LIST,並以逗號分隔清單的形式,列出要從備份檔案遷移的 SQL Server 資料庫 ID。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \ --type=CONTINUOUS]
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ` --type=CONTINUOUS]
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^ --type=CONTINUOUS]
您應該會收到類似以下的回應:
Waiting for migration job [MIGRATION_JOB_ID] to be updated with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Updated migration job MIGRATION_JOB_ID [OPERATION_ID]
在遷移作業中新增或移除資料庫
如要將新資料庫新增至遷移工作,請先在 Cloud Storage 值區中建立新的專用資料夾,然後將備份檔案上傳至該資料夾。請參閱「 設定 Cloud Storage bucket」。
Cloud Storage bucket 中有必要的備份檔案後,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「遷移作業」頁面。
- 在「Jobs」(工作) 分頁中,按一下遷移工作的顯示名稱。
系統會開啟遷移工作詳細資料頁面。
- 按一下 [編輯]。
- 在「選取要遷移的資料庫」部分,使用核取方塊選取要新增至遷移工作的新資料庫,或清除要移除的資料庫。
- (選用) 如果您使用加密備份,請提供備份的加密金鑰。如要進一步瞭解如何使用加密備份,請參閱「
使用加密備份」。
請執行下列動作:
- 在您選取要遷移的資料庫旁,按一下「編輯詳細資料」。
「加密」側邊面板隨即開啟。
- 使用「加密金鑰」選單選取金鑰。
- 在「Password」(密碼) 欄位中輸入加密金鑰密碼。
- 按一下「儲存並結束」。
- 在您選取要遷移的資料庫旁,按一下「編輯詳細資料」。
gcloud
這個範例使用選用的 --no-async
標記,因此所有作業都會同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async
標記,以非同步方式執行指令。如果有的話,您需要使用
gcloud database-migration operations describe
指令,確認作業是否成功。
使用下方的任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,其中包含儲存連線設定檔的區域 ID。
- COMMA_SEPARATED_DATABASE_ID_LIST,並以逗號分隔清單的形式列出要從備份檔案遷移的 SQL Server 資料庫 ID。這些 ID 必須與 Cloud Storage 中的
資料庫資料夾名稱相同。
例如:
--sqlserver-databases=my-business-database,my-other-database
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration migration-jobs \ update MIGRATION_JOB_ID \ --region=REGION \ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST
Windows (PowerShell)
gcloud database-migration migration-jobs ` update MIGRATION_JOB_ID ` --region=REGION ` --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ update MIGRATION_JOB_ID ^ --region=REGION ^ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST
您應該會收到類似以下的回應:
Waiting for migration job [MIGRATION_JOB_ID] to be updated with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Updated migration job MIGRATION_JOB_ID [OPERATION_ID]
編輯非草稿遷移工作
對於非草稿遷移工作,您可以使用 Google Cloud CLI 變更遷移工作的顯示名稱:
這個範例使用選用的 --no-async
標記,因此所有作業都會同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async
標記,以非同步方式執行指令。如果有的話,您需要使用
gcloud database-migration operations describe
指令,確認作業是否成功。
使用下方的任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,其中包含儲存連線設定檔的區域 ID。
- MIGRATION_JOB_NAME,並為遷移工作提供可理解的名稱。這個值會顯示在 Google Cloud 控制台的資料庫移轉服務中。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration migration-jobs \ update MIGRATION_JOB_ID \ --region=REGION \ --display-name=MIGRATION_JOB_NAME
Windows (PowerShell)
gcloud database-migration migration-jobs ` update MIGRATION_JOB_ID ` --region=REGION ` --display-name=MIGRATION_JOB_NAME
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ update MIGRATION_JOB_ID ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME
您應該會收到類似以下的回應:
Waiting for migration job [MIGRATION_JOB_ID] to be updated with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Updated migration job MIGRATION_JOB_ID [OPERATION_ID]
測試遷移工作
執行遷移工作前,您可以先執行測試作業,確認資料庫遷移服務是否能存取所有必要的來源和目的地實體。在 Google Cloud 控制台中,您只能測試在遷移工作建立精靈中建立的草稿遷移工作 (請參閱「建立遷移工作」)。
使用 gcloud CLI,您可以測試已建立但尚未啟動的遷移作業。
使用下方的任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,其中包含儲存連線設定檔的區域 ID。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
結果
這項動作會以非同步方式執行。 因此,這項指令會傳回代表長期執行作業的「作業實體」:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
查看特定資料庫的遷移詳細資料
完整建立遷移工作後 (即未儲存為草稿),您可以使用 Google Cloud CLI 查看該遷移工作中特定資料庫的詳細資料。
這個範例使用選用的 --no-async
標記,因此所有作業都會同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async
標記,以非同步方式執行指令。如果有的話,您需要使用
gcloud database-migration operations describe
指令,確認作業是否成功。
使用下方的任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,其中包含儲存連線設定檔的區域 ID。
- DATABASE_NAME 替換為資料庫名稱。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID \ --region=REGION --database=DATABASE_NAME
Windows (PowerShell)
gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID ` --region=REGION --database=DATABASE_NAME
Windows (cmd.exe)
gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID ^ --region=REGION --database=DATABASE_NAME
結果
輸出結果會與下列內容相似:
createTime: '2025-03-21T17:05:19.211441641Z' name: PROJECT_ID phase: FULL_DUMP sourceObject: database: DATABASE_NAME type: DATABASE state: RUNNING
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。
查看特定資料庫的遷移詳細資料
完整建立遷移工作後 (即未儲存為草稿),您可以使用 Google Cloud CLI 列出為該遷移工作選取的所有資料庫,並查看相關詳細資料。
這個範例使用選用的 --no-async
標記,因此所有作業都會同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async
標記,以非同步方式執行指令。如果有的話,您需要使用
gcloud database-migration operations describe
指令,確認作業是否成功。
使用下方的任何指令資料之前,請先替換以下項目:
- MIGRATION_JOB_ID,並提供遷移工作 ID。
如果您不知道 ID,可以使用
gcloud database-migration migration-jobs list
指令列出特定區域中的所有遷移工作,並查看其 ID。 - REGION,其中包含儲存連線設定檔的區域 ID。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration objects list --migration-job=MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration objects list --migration-job=MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration objects list --migration-job=MIGRATION_JOB_ID ^ --region=REGION
結果
輸出結果會與下列內容相似:
Waiting for migration job MIGRATION_JOB_ID to fetch source objects with OPERATION_ID Waiting for operation OPERATION_ID to complete...done. SOURCE_OBJECT STATE PHASE ERROR {'database': 'db1', 'type': 'DATABASE'} RUNNING FULL_DUMP {'database': 'db2', 'type': 'DATABASE'} STOPPED CDC {'code': 1, 'message': 'Internal error'}
- 使用
gcloud database-migration migration-jobs describe
指令查看遷移工作狀態。 - 使用
gcloud database-migration operations describe
搭配 OPERATION_ID,即可查看作業本身的狀態。