在 Google Cloud 控制台中,您可以对具有相同 状态的迁移作业批量执行操作。您可以在 Google Cloud 控制台中对单个迁移作业执行操作,也可以使用 Google Cloud CLI 执行操作。
您可以对迁移作业执行以下任一操作:
操作 | 说明 |
---|---|
开始 | 启动未处于正在运行或正在启动状态的迁移作业。请参阅 迁移作业状态。 |
停止 | 停止正在运行的迁移作业。数据移动已暂停。
迁移作业状态会先更改为 Stopping ,然后再更改为 Stopped 。您可以恢复、删除或
提升已停止的迁移作业。 |
恢复 | 如果您在增量加载期间停止了迁移作业,可以稍后继续。当您继续执行迁移作业时,Database Migration Service 会提取在迁移作业停止时累积的所有事务日志文件。 |
重启 |
如果迁移作业遇到错误而无法继续进行数据复制,您可以重启该作业。重启迁移作业的结果取决于其失败的原因:
|
删除 | 您可以删除迁移作业。结果取决于作业的状态:
|
推广 | 在迁移过程中,目标数据库会被置于只读状态,由 Database Migration Service 全代管式。 当您想要将应用切换到已迁移的目标数据库时,提升迁移作业会将目标数据库更新为独立副本。 |
在迁移过程中,目标 Cloud SQL for SQL Server 数据库会进入恢复模式,由 Database Migration Service 全代管式。在提升迁移作业之前,您无法对目标数据库执行任何读取或写入操作。 请参阅 提升迁移速度。 |
启动迁移作业
迁移作业完全创建后(即未保存为草稿状态),您可以随时启动它以开始迁移数据。
如需启动迁移作业,请执行以下步骤:
控制台
- 在 Google Cloud 控制台中,前往迁移作业页面。
- 在作业标签页中,点击要启动的迁移作业的显示名称。
系统随即会打开迁移作业详情页面。
- 点击开始。
- 在对话框中,点击开始。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
- 将 MIGRATION_JOB_ID 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出给定区域中的所有迁移作业并查看其标识符。 - REGION 与存储连接配置文件的区域的标识符。
执行以下命令:
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 控制台中,前往迁移作业页面。
- 在作业标签页中,点击要启动的迁移作业的显示名称。
系统随即会打开迁移作业详情页面。
- 点击停止。
- 在对话框中,点击停止。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
- 将 MIGRATION_JOB_ID 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出给定区域中的所有迁移作业并查看其标识符。 - REGION 与存储连接配置文件的区域的标识符。
执行以下命令:
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 控制台中,前往迁移作业页面。
- 在作业标签页中,点击要启动的迁移作业的显示名称。
系统随即会打开迁移作业详情页面。
- 点击恢复。
- 在对话框中,点击继续。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
- 将 MIGRATION_JOB_ID 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出给定区域中的所有迁移作业并查看其标识符。 - REGION 与存储连接配置文件的区域的标识符。
执行以下命令:
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 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出给定区域中的所有迁移作业并查看其标识符。 - REGION 与存储连接配置文件的区域的标识符。
执行以下命令:
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,其中包含迁移作业的机器可读标识符。
- 将 REGION 替换为您要在其中保存连接配置文件的区域标识符。
- MIGRATION_JOB_NAME 为迁移作业提供一个直观易懂的名称。此值显示在 Google Cloud 控制台中的 Database Migration Service 中。
- SOURCE_CONNECTION_PROFILE_ID,其中包含来源连接配置文件的机器可读标识符。
- DESTINATION_CONNECTION_PROFILE_ID,其中包含目标连接配置文件的机器可读标识符。
- 差分备份配置:您可以配置迁移作业能否使用 Cloud Storage 存储桶中的差分备份文件。将以下标志之一添加到您的命令中:
--sqlserver-diff-backup
,用于为迁移启用差分备份文件--no-sqlserver-diff-backup
,用于为迁移停用差分备份文件
如需详细了解支持的备份文件,请参阅 支持的备份文件类型。
- COMMA_SEPARATED_DATABASE_ID_LIST,其中包含要从备份文件迁移的 SQL Server 的数据库标识符的逗号分隔列表。
执行以下命令:
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 存储桶中有了必要的备份文件后,请执行以下步骤:
控制台
gcloud
此示例使用可选的 --no-async
标志,以便同步执行所有操作。这意味着某些命令可能需要一段时间才能完成。您可以跳过 --no-async
标志以异步运行命令。如果是,您需要使用
gcloud database-migration operations describe
命令来验证操作是否成功。
在使用下面的命令数据之前,请先进行以下替换:
- 将 MIGRATION_JOB_ID 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出给定区域中的所有迁移作业并查看其标识符。 - REGION 与存储连接配置文件的区域的标识符。
- COMMA_SEPARATED_DATABASE_ID_LIST,其中包含要从备份文件迁移的 SQL Server 的数据库标识符的逗号分隔列表。这些标识符需要与
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 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出给定区域中的所有迁移作业并查看其标识符。 - REGION 与存储连接配置文件的区域的标识符。
- MIGRATION_JOB_NAME 为迁移作业提供一个直观易懂的名称。此值显示在 Google Cloud 控制台中的 Database Migration Service 中。
执行以下命令:
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]
测试迁移作业
在运行迁移作业之前,您可以执行测试操作,检查 Database Migration Service 是否可以访问所有必要的源和目标实体。在 Google Cloud 控制台中,您只能测试在迁移作业创建向导中创建的草稿迁移作业(请参阅 创建迁移作业)。
借助 gcloud CLI,您可以测试已创建但尚未开始的迁移作业。
在使用下面的命令数据之前,请先进行以下替换:
- 将 MIGRATION_JOB_ID 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出给定区域中的所有迁移作业并查看其标识符。 - REGION 与存储连接配置文件的区域的标识符。
执行以下命令:
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 搭配使用,即可查看操作本身的状态。