Crea trabajos de migración

Database Migration Service usa trabajos de migración para migrar datos de tus bases de datos de origen a la instancia de destino de Cloud SQL. Los trabajos de migración te ayudan a organizar los perfiles de conexión de origen y destino, definir la configuración específica del proceso de migración, supervisar el progreso y finalizar de forma segura toda la operación.

La creación de un trabajo de migración incluye la realización de las siguientes tareas:

  • Seleccionar perfiles de conexión de origen y destino

  • Elegir qué bases de datos detectadas en tu instancia de origen deseas migrar

  • Realizar una prueba del trabajo de migración para garantizar que Database Migration Service pueda conectarse a tu fuente de datos y destino

  • Iniciar el trabajo de migración y supervisar el progreso

  • Promociona el trabajo de migración cuando quieras cambiar tu aplicación a la instancia nueva.

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.
    • Tus archivos de copia de seguridad completa y de registro de transacciones se suben al bucket de Cloud Storage.
    • Tienes un perfil de conexión de origen para el bucket de Cloud Storage.
    • 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 Google Cloud consola, en la página del selector de proyectos, selecciona o crea un Google Cloud proyecto.

    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

Para crear un trabajo de migración, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Trabajos de migración.

    Ir a Trabajos de migración

  2. Haz clic en Crear trabajos de migración.

    Se abrirá la página del asistente de configuración del trabajo de migración. Este asistente contiene varios paneles que te guían por cada paso de configuración.

    Puedes pausar la creación de un trabajo de migración en cualquier momento haciendo clic en GUARDAR Y SALIR. Todos los datos que ingreses hasta ese punto se guardarán en un borrador de trabajo de migración. Puedes terminar el borrador del trabajo de migración más tarde. Consulta Actualiza un trabajo de migración en borrador.

  3. En la página Primeros pasos, ingresa la siguiente información:
    • Nombre del trabajo de migración

      Es un nombre legible para tu trabajo de migración. Este valor se muestra en la consola de Google Cloud .

    • ID del trabajo de migración

      Es 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.

    • En la lista Motor de base de datos de origen, selecciona SQL Server o Amazon RDS para SQL Server.

    Los campos Motor de base de datos de destino y Tipo de trabajo de migración se propagan automáticamente y no se pueden cambiar.

  4. Haz clic en Guardar y continuar.
  5. En la página Define tu fuente, haz lo siguiente:
    1. Usa el menú desplegable para seleccionar tu perfil de conexión fuente.

      Si aún no tienes un perfil de conexión fuente, puedes hacer clic en Crear perfil de conexión directamente en el menú desplegable. Para obtener más información sobre la creación de perfiles de conexión, consulta Crea un perfil de conexión fuente.

    2. Si deseas usar un archivo de copia de seguridad diferencial en tu migración, marca la casilla de verificación Usar copias de seguridad diferenciales en la sección Personalizar la configuración de la fuente.

      Las copias de seguridad diferenciales son útiles si necesitas replicar una gran cantidad de datos que aparecieron en tu base de datos desde la copia de seguridad completa y quieres controlarlos de forma masiva en lugar de subir varios archivos de registro de transacciones. Para obtener más información sobre los tipos de copias de seguridad compatibles, consulta Tipos de archivos de copias de seguridad compatibles.

      Si usas copias de seguridad diferenciales, asegúrate de crear la carpeta diff en tu bucket de Cloud Storage. Consulta Almacena archivos de copias de seguridad en un bucket de Cloud Storage.

    3. Haz clic en Guardar y continuar.
  6. En la página Define a destination, usa el menú desplegable para seleccionar tu perfil de conexión de destino.

    Si aún no tienes un perfil de conexión de destino, puedes hacer clic en Crear perfil de conexión directamente en el menú desplegable. Para obtener más información sobre cómo crear perfiles de conexión, consulta Cómo crear un perfil de conexión de destino.

  7. Haz clic en Guardar y continuar.
  8. En la página Configurar bases de datos de migración, realiza las siguientes acciones:
    1. En la sección Selecciona las bases de datos para migrar, usa las casillas de verificación para seleccionar las bases de datos que deseas incluir en este trabajo de migración. Esta lista se completa en función de las carpetas que creaste en el bucket de Cloud Storage para tus archivos de copia de seguridad.

      Puedes agregar y quitar bases de datos del trabajo de migración más adelante. Consulta Cómo agregar o quitar bases de datos de un trabajo de migración.

    2. (Opcional) Si usas copias de seguridad encriptadas, proporciona las claves de encriptación de tus copias de seguridad. Para obtener más detalles sobre el uso de copias de seguridad encriptadas, consulta Usa copias de seguridad encriptadas.

      Realiza las siguientes acciones:

      • Haz clic en Editar detalles junto a la base de datos que seleccionaste para la migración.

        Se abrirá el panel lateral Encriptación.

      • Usa los menús desplegables de Clave de encriptación para seleccionar tus claves.
      • En el campo Contraseña, ingresa la contraseña de la clave de encriptación.
      • Haz clic en Guardar y salir.
  9. Haz clic en Guardar y continuar.
  10. En Prueba y crea el trabajo de migración, realiza las siguientes acciones:
    1. (Opcional) Haz clic en Probar trabajo para verificar si Database Migration Service puede identificar correctamente todos los archivos de copia de seguridad y establecer las conexiones de red necesarias.

      Si la prueba falla, puedes consultar los mensajes de error para abordar el problema y volver a ejecutar la prueba. Para obtener más información sobre los posibles errores, consulta Diagnostica problemas.

    2. Haz clic en Crear y comenzar trabajo para iniciar la migración.

      Si quieres realizar el trabajo de migración en otro momento, haz clic en Guardar y vuelve más tarde para ejecutar el trabajo. Consulta Cómo iniciar 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, realiza 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 de origen.
  • DESTINATION_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión de destino.
  • 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. Estos identificadores deben ser los mismos que los nombres de las carpetas de la base de datos en tu cuenta de Cloud Storage .

    Por ejemplo: --sqlserver-databases=my-business-database,my-other-database

  • Configuración de copia de seguridad diferencial: Si usas archivos de copia de seguridad diferencial para la migración, agrega la marca --sqlserver-diff-backup a tu comando. De forma predeterminada, los trabajos de migración no usan archivos de copia de seguridad diferenciales y omiten la carpeta diff en tu bucket de Cloud Storage.

    Para obtener más información sobre los archivos de copia de seguridad compatibles, consulta Tipos de archivos de copia de seguridad compatibles.

  • (Opcional) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS con la ruta de acceso del disco local a un archivo de configuración que asigne rutas de acceso a claves de encriptación en Cloud Storage con sus identificadores de base de datos pertinentes. Para obtener más información sobre cómo crear este archivo de asignación, consulta Cómo usar copias de seguridad encriptadas.

    Por ejemplo: --sqlserver-encrypted-databases=~/encryption-keys-mapping-file.json

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 \
  --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS \
  --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 `
  --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS `
  --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 ^
  --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ^
  --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

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

¿Qué sigue?