View and manage migration jobs

Project: /database-migration/docs/sqlserver-to-csql-pgsql/_project.yaml Book: /database-migration/docs/sqlserver-to-csql-pgsql/_book.yaml

In the Google Cloud console, you can perform actions in bulk for migration jobs that have the same status. You can perform actions on a single migration job both in the Google Cloud console and by using Google Cloud CLI.

You can perform any of the following actions on your migration job:

Action Description
Start Start migration jobs is that aren't in the Running or Starting state. See Migration job statuses.
Stop Stop a running migration job. The data movement is paused. The migration job status first changes to Stopping and then to Stopped. You can resume, delete, or promote a stopped migration job.

In some cases, the source database must retain the data until you resume the migration job. The retention period for the source database may be limited. If the migration job is paused for longer than the retention period, and then the migration job is resumed, this can cause the migration job to fail. If this occurs, then delete or restart the migration job.

Resume You can resume migration jobs stopped during the CDC phase. When you resume a migration job, Database Migration Service resumes replication of change events that accumulate when the migration job is stopped.
Restart You can restart a migration job that encountered an error and can't proceed with data replication. The result of restarting a migration job depends on why it failed:
  • If the replication has failed because of an error on one or more source or destination database tables, then restarting the migration job wipes all data from destination database tables included in the migration job.
  • Restarting the migration job doesn't cause Database Migration Service to replicate new tables that you created in the source database. You first need to add the tables to the conversion workspace and convert their schema.
Edit See Edit a migration job.
Delete A migration job can be deleted. The outcome depends on the status of the job:
  • If the migration job is in the Completed status, then the record is deleted from the migration job list.
  • If the migration job is in any other status, then there's an option to choose to delete the associated destination Cloud SQL instance.
Promote During the migration process, your destination database is put into a read-only state where it is fully managed by Database Migration Service. When you want to switch your application to the migrated destination database, promoting the migration job updates the destination database into a standalone replica. See Promote a migration.

Review a migration job

  1. In the Google Cloud console, go to the Migration jobs page.

    Go to Migration jobs

  2. Select a migration job to see its details page, which includes:
    • Migration job metadata, such as the display name, ID, migration type, source connection profile, source database engine, destination, connectivity method, date and time that the migration job was created, and how long the migration job is running.
    • Migration job status and substatus, and additional information. Different actions are available depending on the migration job's status and substatus.

Start a migration job

When your migration job is fully created (that is, it isn't saved in a draft state), you can start it at any time to begin migrating data.

To start a migration job, perform the following steps:

  1. In the Google Cloud console, go to the Migration jobs page.

    Go to Migration jobs

  2. In the Jobs tab, click the display name of the migration job that you want to start.

    The migration job details page opens.

  3. Click Start.
  4. In the dialog, click Start.

Before using any of the command data below, make the following replacements:

  • MIGRATION_JOB_ID with your migration job identifier.

    If you don't know the identifier, you can use the gcloud database-migration migration-jobs list command to list all migration jobs in a given region and view their identifiers.

  • REGION with the identifier of the region where your connection profile is saved.

Execute the following command:

Linux, macOS, or Cloud Shell

gcloud database-migration migration-jobs \
start MIGRATION_JOB_ID \
  --region=REGION
gcloud database-migration migration-jobs `
start MIGRATION_JOB_ID `
  --region=REGION
gcloud database-migration migration-jobs ^
start MIGRATION_JOB_ID ^
  --region=REGION

Result

The action is performed in an asynchronous manner. As such, this command returns an Operation entity that represents a long-running operation:

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
To see if your operation is successful, you can query the returned operation object, or check the status of the migration job:

Stop a migration job

You can stop a running migration job at any time by performing the following steps:

  1. In the Google Cloud console, go to the Migration jobs page.

    Go to Migration jobs

  2. In the Jobs tab, click the display name of the migration job that you want to start.

    The migration job details page opens.

  3. Click Stop.
  4. In the dialog, click Stop.

Before using any of the command data below, make the following replacements:

  • MIGRATION_JOB_ID with your migration job identifier.

    If you don't know the identifier, you can use the gcloud database-migration migration-jobs list command to list all migration jobs in a given region and view their identifiers.

  • REGION with the identifier of the region where your connection profile is saved.

Execute the following command:

Linux, macOS, or Cloud Shell

gcloud database-migration migration-jobs \
stop MIGRATION_JOB_ID \
  --region=REGION
gcloud database-migration migration-jobs `
stop MIGRATION_JOB_ID `
  --region=REGION
gcloud database-migration migration-jobs ^
stop MIGRATION_JOB_ID ^
  --region=REGION

Result

The action is performed in an asynchronous manner. As such, this command returns an Operation entity that represents a long-running operation:

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
To see if your operation is successful, you can query the returned operation object, or check the status of the migration job:

Resume a migration job

You can resume a stopped migration job by performing the following steps:

  1. In the Google Cloud console, go to the Migration jobs page.

    Go to Migration jobs

  2. In the Jobs tab, click the display name of the migration job that you want to start.

    The migration job details page opens.

  3. Click Resume.
  4. In the dialog, click Resume.

Before using any of the command data below, make the following replacements:

  • MIGRATION_JOB_ID with your migration job identifier.

    If you don't know the identifier, you can use the gcloud database-migration migration-jobs list command to list all migration jobs in a given region and view their identifiers.

  • REGION with the identifier of the region where your connection profile is saved.

Execute the following command:

Linux, macOS, or Cloud Shell

gcloud database-migration migration-jobs \
resume MIGRATION_JOB_ID \
  --region=REGION
gcloud database-migration migration-jobs `
resume MIGRATION_JOB_ID `
  --region=REGION
gcloud database-migration migration-jobs ^
resume MIGRATION_JOB_ID ^
  --region=REGION

Result

The action is performed in an asynchronous manner. As such, this command returns an Operation entity that represents a long-running operation:

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
To see if your operation is successful, you can query the returned operation object, or check the status of the migration job:

Restart a migration job

To start a migration job, perform the following steps:

  1. In the Google Cloud console, go to the Migration jobs page.

    Go to Migration jobs

  2. In the Jobs tab, click the display name of the migration job that you want to restart.

    The migration job details page opens.

  3. Click Restart.
  4. In the dialog, click Restart.

Before using any of the command data below, make the following replacements:

  • MIGRATION_JOB_ID with your migration job identifier.

    If you don't know the identifier, you can use the gcloud database-migration migration-jobs list command to list all migration jobs in a given region and view their identifiers.

  • REGION with the identifier of the region where your connection profile is saved.
  • Optional: Database Migration Service migrates all databases in your source by default. If you want to migrate only specific databases, use the --databases-filter flag and specify their identifiers as a comma-separated list.

    For example: --databases-filter=my-business-database,my-other-database

    You can later edit migration jobs that you created with the --database-filter flag by using the gcloud database-migration migration-jobs update command.

Execute the following command:

Linux, macOS, or Cloud Shell

gcloud database-migration migration-jobs \
restart MIGRATION_JOB_ID \
  --region=REGION
gcloud database-migration migration-jobs `
restart MIGRATION_JOB_ID `
  --region=REGION
gcloud database-migration migration-jobs ^
restart MIGRATION_JOB_ID ^
  --region=REGION

Result

The action is performed in an asynchronous manner. As such, this command returns an Operation entity that represents a long-running operation:

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
To see if your operation is successful, you can query the returned operation object, or check the status of the migration job:

Update a draft migration job

To finish creating a migration job, perform the following steps:

  1. In the Google Cloud console, go to the Migration jobs page.

    Go to Migration jobs

  2. In the Drafts tab, click the display name of the migration job that you want to finish creating.

    The migration job creation wizard opens.

  3. Finish creating the migration job. See Create a migration job.

Edit a migration job

You can modify the configuration information for the source, such as the database tables and schemas in the source that Database Migration Service will migrate to the destination. Database Migration Service uses this configuration information to migrate the correct data from the source into the destination.

Add or remove objects from migration

To add or remove tables or schemas from the migration, do the following:

  1. Go to the Migration jobs page in the Google Cloud console.

    Go to Migration jobs

  2. Click the display name of the migration job that you want to modify. An overview page appears for the migration job.

  3. In the Select objects to migrate section, select or clear the check boxes to change the tables and schemas in the source that Database Migration Service will migrate into the destination.

  4. Click Save or Save and Restart.

    • If you click Save, then Database Migration Service will move only historical data for the schemas and tables that you select.

    • If you click Save and Restart, then Database Migration Service will start the migration from the beginning, after cleaning any tables that you select in the destination.

Adjust maximum concurrent connections to source database

You can customize how many maximum concurrent connections Database Migration Service can make to your source instance for the full dump phase or the CDC phase.

  1. Go to the Migration jobs page in the Google Cloud Console.

    Go to Migration jobs

  2. Click the display name of the migration job that you want to modify. An overview page appears for the migration job.

  3. Expand the Customize source configuration > Source read settings section.

  4. In the Maximum concurrent full dump connections or Maximum concurrent CDC connections sections, use Custom field to enter the maximum connections limit for either the full dump or CDC phases.

  5. Click Save or Save and Restart.

Adjust destination configuration settings

You can customize transaction timeout and the maximum number of concurrent connections for your destination database:

  1. Go to the **Migration jobs** page in the Google Cloud console.

    Go to Migration jobs

  2. Click the display name of the migration job that you want to modify.

    An overview page appears for the migration job.

  3. Expand the Customize destination configuration section, and modify the following settings:
    Maximum concurrent destination connections

    Default value: 128

    Allowed values: minimum 2, maximum 256

    You can customize how many maximum concurrent connections Database Migration Service can make to your destination instance.

    Database Migration Service adjusts the number of connections to ensure the best performance within provided connection limit. Increasing the maximum connection limit can improve the migration speed, but introduces additional load on your destination databases.

    Transaction timeout

    Default value: 30

    Allowed values: minimum 30, maximum 300

    During the migration process, Database Migration Service can encounter certain issues that cause the transaction to time out. You can adjust the number of seconds that Database Migration Service waits for the transaction to complete before it is canceled.

    Canceled transactions don't cause your migration job to fail. The migration job continues to copy data, but moves to the Running with errors status. You can view migration job details to check what issues need to be addressed.

  4. Click Save or Save and Restart.

Test a migration job

Before you run the migration job, you can perform a test operation to check if Database Migration Service can reach all the necessary source and destination entities. In the Google Cloud console, you can only test draft migration jobs that you create in the migration job creation wizard (see Create a migration job).

With gcloud CLI, you can test migration jobs that are created, but not yet started.

Before using any of the command data below, make the following replacements:

  • MIGRATION_JOB_ID with your migration job identifier.

    If you don't know the identifier, you can use the gcloud database-migration migration-jobs list command to list all migration jobs in a given region and view their identifiers.

  • REGION with the identifier of the region where your connection profile is saved.

Execute the following command:

Linux, macOS, or Cloud Shell

gcloud database-migration migration-jobs \
verify MIGRATION_JOB_ID \
  --region=REGION
gcloud database-migration migration-jobs `
verify MIGRATION_JOB_ID `
  --region=REGION
gcloud database-migration migration-jobs ^
verify MIGRATION_JOB_ID ^
  --region=REGION

Result

The action is performed in an asynchronous manner. As such, this command returns an Operation entity that represents a long-running operation:

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
To see if your operation is successful, you can query the returned operation object, or check the status of the migration job: