Crea un trabajo de migración para una fuente de Cloud SQL para SQL Server

En esta página, se describe cómo crear un trabajo de migración para fuentes de Cloud SQL para SQL Server con Google Cloud CLI. Para obtener más información sobre la migración entre instancias de Cloud SQL para SQL Server con Database Migration Service, consulta la Guía de migración de fuentes de Cloud SQL para SQL Server.

Antes de comenzar

  1. Asegúrate de cumplir con los siguientes requisitos:
    • Tienes un bucket de Cloud Storage para los archivos de copia de seguridad de SQL Server.
    • Tienes un perfil de conexión de origen para tu instancia de origen.
    • Creaste y configuraste tu instancia de destino de Cloud SQL para SQL Server, y tienes un perfil de conexión de destino para la instancia.
  2. En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud .

    Ir al selector de proyectos

  3. Habilita las APIs de Database Migration Service, Compute Engine, Cloud Storage y Cloud SQL Admin.

    Habilitar las APIs

Roles obligatorios

Para obtener los permisos que necesitas para crear trabajos de migración en Database Migration Service, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Estos roles predefinidos contienen los permisos necesarios para realizar migraciones homogéneas de SQL Server con Database Migration Service. Para ver los permisos exactos que son necesarios, expande la sección Permisos necesarios:

Permisos necesarios

Se requieren los siguientes permisos para realizar migraciones homogéneas de SQL Server con Database Migration Service:

  • datamigration.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.databases.get
  • cloudsql.databases.delete
  • cloudsql.operations.get
  • compute.machineTypes.list
  • compute.machineTypes.get
  • compute.projects.get
  • storage.buckets.create
  • storage.buckets.list
  • storage.objects.list

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Define la configuración y crea un trabajo de migración

gcloud

En este ejemplo, se usa la marca opcional --no-async para que todas las operaciones se realicen de forma síncrona. Esto significa que algunos comandos pueden tardar un poco en completarse. Puedes omitir la marca --no-async para ejecutar comandos de forma asíncrona. Si lo haces, debes usar el comando gcloud database-migration operations describe para verificar si la operación se realizó de forma correcta.

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • MIGRATION_JOB_ID por un identificador legible por máquinas para tu trabajo de migración. Usa este valor para trabajar con trabajos de migración con los comandos de Google Cloud CLI o la API de Database Migration Service.
  • REGION por el identificador de la región en la que deseas guardar el trabajo de migración.
  • MIGRATION_JOB_NAME por un nombre legible por humanos para tu trabajo de migración. Este valor se muestra en Database Migration Service en la consola de Google Cloud .
  • SOURCE_CONNECTION_PROFILE_ID por un identificador legible por máquinas del perfil de conexión de origen.
  • DESTINATION_CONNECTION_PROFILE_ID por un identificador legible por máquina del perfil de conexión de destino.
  • DESTINATION_PROJECT_ID por el identificador del proyecto de Google Cloud en el que tienes tu instancia de Cloud SQL para SQL Server de destino. Este debe ser el mismo proyecto en el que tienes habilitada la API de Database Migration Service y en el que creas el trabajo de migración.
  • COMMA_SEPARATED_DATABASE_ID_LIST por una lista separada por comas de identificadores de bases de datos de SQL Server que deseas migrar desde tus archivos de copia de seguridad.

Ejecuta el siguiente comando:

Linux, macOS o 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 \
  --project=DESTINATION_PROJECT_ID \
  --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 `
  --project=DESTINATION_PROJECT_ID `
  --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 ^
  --project=DESTINATION_PROJECT_ID ^
  --type=CONTINUOUS

Deberías recibir una respuesta similar a la que figura a continuación:

Waiting for migration job [MIGRATION_JOB_ID]
to be created with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Resultado

Ya se creó el trabajo de migración. Puedes continuar con el proceso de migración:

¿Qué sigue?