管理遷移工作

在 Google Cloud 控制台中,您可以針對具有相同 狀態的遷移作業,執行批次操作。您可以在 Google Cloud 控制台和 Google Cloud CLI 中,對單一遷移工作執行動作。

您可以對遷移工作執行下列動作:

動作 說明
編輯

您可以編輯非草稿遷移工作,進行下列變更:

開始 啟動遷移工作,即非處於「執行中」或「啟動中」狀態。請參閱 遷移工作狀態
停止 停止執行中的遷移工作。資料移轉作業已暫停。 遷移工作狀態會先變更為 Stopping,然後變更為 Stopped。您可以繼續、刪除或 提升已停止的遷移工作。
繼續 如果您在增量載入期間停止遷移工作,可以稍後繼續執行。繼續執行遷移工作時,資料庫移轉服務會擷取在停止遷移工作時累積的所有交易記錄檔案。
重新啟動

您可以重新啟動遇到錯誤且無法繼續進行資料複製作業的遷移工作。

重新啟動遷移工作的結果取決於以下任一失敗原因:

  • 無法復原錯誤的失敗遷移工作會重新嘗試整個遷移程序,包括完整備份檔案的初始載入作業。
  • 如果一或多個來源或目的地資料庫發生錯誤,導致複製作業失敗,重新啟動遷移作業後,系統會清除目的地資料庫中的所有資料。
  • 如果您在開始遷移作業後為其他資料庫建立新資料夾,並 將其新增至所選用來遷移的資料庫,那麼重新啟動遷移作業也會將新資料庫複製到目的地執行個體。
刪除 您可以刪除遷移工作。結果取決於工作狀態:
  • 如果遷移工作處於 Completed 狀態,系統會從遷移工作清單中刪除該記錄。
  • 如果遷移工作處於其他狀態,則可以選擇刪除目的地 Cloud SQL 執行個體/主機組合。
宣傳 在遷移過程中,目的地 SQL Server 適用的 Cloud SQL 資料庫會進入復原模式,由資料庫移轉服務全權管理。您必須先提交遷移工作或所選資料庫,才能在目的地資料庫上執行任何讀取或寫入作業。如需更多資訊,請參閱「 促進遷移」。
查看 您可以在遷移工作中查看特定資料庫的詳細資料,或查看所有資料庫 (您選取用於遷移的資料庫)。

啟動遷移工作

遷移工作已完成建立 (也就是未儲存在草稿狀態) 後,您隨時可以啟動遷移作業,開始遷移資料。

如要開始遷移作業,請執行下列步驟:

控制台

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

  2. 在「Jobs」分頁中,按一下要啟動遷移工作的顯示名稱。

    遷移工作詳細資料頁面隨即開啟。

  3. 按一下「啟動」
  4. 在對話方塊中按一下「開始」

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
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態:

停止遷移工作

您隨時可以執行下列步驟,停止執行中的遷移工作:

控制台

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

  2. 在「Jobs」分頁中,按一下要啟動遷移工作的顯示名稱。

    遷移工作詳細資料頁面隨即開啟。

  3. 按一下「停止」
  4. 在對話方塊中按一下「停止」

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
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態:

繼續執行遷移工作

您可以執行下列步驟,繼續執行 已停止的遷移工作:

控制台

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

  2. 在「Jobs」分頁中,按一下要啟動遷移工作的顯示名稱。

    遷移工作詳細資料頁面隨即開啟。

  3. 按一下「繼續」
  4. 在對話方塊中,按一下「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
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態:

重新啟動遷移工作

如要重新啟動遷移作業,請執行下列步驟:

控制台

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

  2. 在「Jobs」分頁中,按一下要重新啟動遷移工作的顯示名稱。

    遷移工作詳細資料頁面隨即開啟。

  3. 執行下列任一重新啟動動作:
    • 如要重新啟動遷移作業中包含的所有資料庫,請在遷移工作工具列中按一下「Restart」

      畫面上會顯示「Restart migration job」對話方塊。

    • 如果只想重新啟動特定資料庫,請勾選資料庫名稱旁的核取方塊,然後在「資料庫」分頁中按一下「重新啟動」

      畫面上會顯示對話方塊,其中列出您要重新啟動的資料庫數量。

  4. 在對話方塊中按一下「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
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態:

更新遷移工作草稿

如要完成建立遷移作業,請執行下列步驟:

控制台

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

  2. 在「草稿」分頁中,按一下要完成建立的遷移作業的顯示名稱。

    系統會開啟遷移工作建立精靈。

  3. 完成建立遷移工作。請參閱 建立遷移工作

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 值區中備妥必要的備份檔案後,請執行下列步驟:

控制台

  1. 前往 Google Cloud 控制台的「Migration jobs」頁面。

    前往「遷移工作」

  2. 在「Jobs」分頁中,按一下遷移工作的顯示名稱。

    遷移工作詳細資料頁面隨即開啟。

  3. 按一下 [編輯]
  4. 在「Select databases to migrate」部分,使用核取方塊選取要新增至遷移工作的新資料庫,或清除要移除的資料庫。
  5. (選用) 如果您使用加密備份,請提供備份的加密金鑰。如要進一步瞭解如何使用加密備份,請參閱「 使用加密備份」。

    執行下列動作:

    • 按一下所選資料庫旁的「編輯詳細資料」

      開啟「加密」側邊面板。

    • 使用「加密金鑰」選單選取金鑰。
    • 在「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
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態:

查看特定資料庫的遷移詳細資料

遷移工作完成建立 (也就是未儲存在草稿狀態) 後,您可以使用 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
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態:

查看特定資料庫的遷移詳細資料

遷移工作完成建立 (也就是未儲存在草稿狀態) 後,您可以使用 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'}
如要查看作業是否成功,您可以查詢傳回的作業物件,或檢查遷移作業的狀態: