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 para 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 fuente 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.

    Habilita 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 requeridos:

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 tiempo 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ó correctamente.

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

  • MIGRATION_JOB_ID con un identificador legible por máquina para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración a través de los comandos de la CLI de Google Cloud o la API de Database Migration Service.
  • REGION con el identificador de la región en la que deseas guardar el trabajo de migración.
  • MIGRATION_JOB_NAME con un nombre legible para tu trabajo de migración. Este valor se muestra en Database Migration Service en la consola de Google Cloud .
  • SOURCE_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión fuente.
  • DESTINATION_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión de destino.
  • DESTINATION_PROJECT_ID con el identificador del proyecto Google Cloud en el que tienes tu instancia de Cloud SQL para SQL Server destino. Debe ser el mismo proyecto en el que tienes habilitada la API de Database Migration Service y en el que creaste el trabajo de migración.
  • COMMA_SEPARATED_DATABASE_ID_LIST con una lista separada por comas de los identificadores de la base de datos de SQL Server desde la que deseas migrar 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

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

¿Qué sigue?