在 Google Cloud 控制台中,您可以針對具有相同 狀態的遷移作業,執行批次操作。您可以在 Google Cloud 控制台和 Google Cloud CLI 中,對單一遷移工作執行動作。
您可以對遷移工作執行下列動作:
動作 | 說明 |
---|---|
編輯 | 您可以編輯非草稿遷移工作,進行下列變更: |
開始 | 啟動遷移工作,即非處於「執行中」或「啟動中」狀態。請參閱 遷移工作狀態。 |
停止 | 停止執行中的遷移工作。資料移轉作業已暫停。
遷移工作狀態會先變更為 Stopping ,然後變更為 Stopped 。您可以繼續、刪除或
提升已停止的遷移工作。 |
繼續 | 如果您在增量載入期間停止遷移工作,可以稍後繼續執行。繼續執行遷移工作時,資料庫移轉服務會擷取在停止遷移工作時累積的所有交易記錄檔案。 |
重新啟動 |
您可以重新啟動遇到錯誤且無法繼續進行資料複製作業的遷移工作。 重新啟動遷移工作的結果取決於以下任一失敗原因:
|
刪除 | 您可以刪除遷移工作。結果取決於工作狀態:
|
宣傳 | 在遷移過程中,目的地 SQL Server 適用的 Cloud SQL 資料庫會進入復原模式,由資料庫移轉服務全權管理。您必須先提交遷移工作或所選資料庫,才能在目的地資料庫上執行任何讀取或寫入作業。如需更多資訊,請參閱「 促進遷移」。 |
查看 | 您可以在遷移工作中查看特定資料庫的詳細資料,或查看所有資料庫 (您選取用於遷移的資料庫)。 |
啟動遷移工作
遷移工作已完成建立 (也就是未儲存在草稿狀態) 後,您隨時可以啟動遷移作業,開始遷移資料。
如要開始遷移作業,請執行下列步驟:
控制台
- 前往 Google Cloud 控制台的「Migration jobs」頁面。
- 在「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 控制台的「Migration jobs」頁面。
- 在「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 控制台的「Migration jobs」頁面。
- 在「Jobs」分頁中,按一下要啟動遷移工作的顯示名稱。
遷移工作詳細資料頁面隨即開啟。
- 按一下「繼續」。
- 在對話方塊中,按一下「Resume」。
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 控制台的「Migration jobs」頁面。
- 在「Jobs」分頁中,按一下要重新啟動遷移工作的顯示名稱。
遷移工作詳細資料頁面隨即開啟。
- 執行下列任一重新啟動動作:
如要重新啟動遷移作業中包含的所有資料庫,請在遷移工作工具列中按一下「Restart」。
畫面上會顯示「Restart migration job」對話方塊。
如果只想重新啟動特定資料庫,請勾選資料庫名稱旁的核取方塊,然後在「資料庫」分頁中按一下「重新啟動」。
畫面上會顯示對話方塊,其中列出您要重新啟動的資料庫數量。
- 在對話方塊中按一下「Restart」。
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 值區中的差異備份檔案。在指令中加入下列其中一個標記:
--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 值區」。
在 Cloud Storage 值區中備妥必要的備份檔案後,請執行下列步驟:
控制台
- 前往 Google Cloud 控制台的「Migration jobs」頁面。
- 在「Jobs」分頁中,按一下遷移工作的顯示名稱。
遷移工作詳細資料頁面隨即開啟。
- 按一下 [編輯]。
- 在「Select databases to migrate」部分,使用核取方塊選取要新增至遷移工作的新資料庫,或清除要移除的資料庫。
- (選用) 如果您使用加密備份,請提供備份的加密金鑰。如要進一步瞭解如何使用加密備份,請參閱「
使用加密備份」。
執行下列動作:
- 按一下所選資料庫旁的「編輯詳細資料」。
開啟「加密」側邊面板。
- 使用「加密金鑰」選單選取金鑰。
- 在「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,查看作業本身的狀態。