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 de destino, definir la configuración específica del proceso de migración, supervisar el progreso y terminar 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 de trabajo de migración para garantizar que Database Migration Service pueda conectarse a tu origen y destino de datos.

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

  • Promocionar el trabajo de migración cuando desees 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.
    • Tu copia de seguridad completa y los archivos de registro de transacciones se suben al bucket de Cloud Storage.
    • Tienes un perfil de conexión fuente 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.

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

Permisos necesarios

Se requieren los siguientes permisos para realizar migraciones homogéneas de SQL Server migraciones 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, realiza los siguientes pasos:

Console

  1. En la Google Cloud consola de, 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 en 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 momento se guardarán en un trabajo de migración de borrador. Puedes terminar tu trabajo de migración de borrador más tarde. Consulta Actualiza un trabajo de migración de borrador.

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

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

    • ID del trabajo de migración

      Este es un identificador legible por máquina para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración mediante 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 completan automáticamente y no se pueden cambiar.

  4. Haz clic en Guardar y continuar.
  5. En la página Define tu origen, 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, en la sección Personalizar configuraciones de origen , marca la casilla de verificación Usar copias de seguridad diferenciales.

      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 deseas controlarlos de forma masiva en lugar de subir varios archivos de registro de transacciones. Para obtener más información sobre los tipos de copia de seguridad compatibles, consulta Tipos de archivos de copia de seguridad compatibles.

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

    3. Haz clic en Guardar y continuar.
  6. En la página Define un destino, 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 la creación de perfiles de conexión, consulta Crea 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 Seleccionar bases de datos para migrar, usa las casillas de verificación para seleccionar qué bases de datos 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 tarde. Consulta Agrega o quita bases de datos de un trabajo de migración.

    2. (Opcional) Si usas copias de seguridad encriptadas, proporciona las claves de encriptación para 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 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 deseas realizar el trabajo de migración en otro momento, haz clic en Guardar y vuelve más tarde para ejecutar el trabajo. Consulta Inicia 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 gcloud database-migration operations describe comando 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 por un identificador legible por máquina para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración mediante los comandos de la CLI de Google Cloud 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 para tu trabajo de migración. Este valor se muestra en Database Migration Service en la Google Cloud consola de.
  • SOURCE_CONNECTION_PROFILE_ID por un identificador legible por máquina del perfil de conexión fuente.
  • DESTINATION_CONNECTION_PROFILE_ID por un identificador legible por máquina del perfil de conexión de destino.
  • COMMA_SEPARATED_DATABASE_ID_LIST por una lista separada por comas de identificadores de base de datos de SQL Server desde la que deseas migrar desde tus archivos de copia de seguridad. Estos identificadores deben ser los mismos que los nombres de las carpetas de la base de datos en 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 diferenciales 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 diff carpeta 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 al disco local a un archivo de configuración que asigna 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 Usa 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

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

¿Qué sigue?