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 parámetros de configuración específicos para el proceso de migración, supervisar el progreso y finalizar toda la operación de forma segura.

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

  • Selecciona los 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 asegurarte de que Database Migration Service pueda conectarse a tu fuente y destino de datos

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

  • Promocionar 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.
    • Los archivos de copia de seguridad y registro de transacciones completos 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 Cloud SQL para SQL Server de destino 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 Administrador de Cloud SQL.

    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.

    Ve 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 trabajo de migración de borrador más tarde. Consulta Actualiza un borrador de trabajo de migración.

  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

      Este es un identificador legible por máquinas para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración mediante los comandos o la API de Google Cloud CLI 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 de origen.

      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 Cómo crear un perfil de conexión fuente.

    2. Si deseas usar un archivo de copia de seguridad diferencial en la migración, en la sección Customize source configurations, marca la casilla de verificación Use differential backups.

      Las copias de seguridad diferenciales son útiles si necesitas replicar muchos datos que aparecieron en tu base de datos desde la copia de seguridad completa y deseas manejarlos 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 copia 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 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 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 checkboxes para seleccionar las bases de datos que deseas incluir en esta tarea 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 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 ellas. Para obtener más detalles sobre el uso de copias de seguridad encriptadas, consulta Cómo usar 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 Probar y crear 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 la tarea de migración en otro momento, haz clic en Guardar y vuelve más tarde para ejecutarla. 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 poco en completarse. Puedes omitir la marca --no-async para ejecutar comandos de forma asíncrona. Si es así, 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áquinas para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración mediante los comandos o la API de Google Cloud CLI de Database Migration Service.
  • REGION por el identificador de región en el que deseas guardar la tarea 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 consola de Google Cloud .
  • SOURCE_CONNECTION_PROFILE_ID con un identificador legible por máquinas 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 de identificadores de bases de datos del servidor SQL que deseas migrar desde tus archivos de copia de seguridad, separados por comas 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, las tareas 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.

  • MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS (opcional) con la ruta de acceso del 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 relevantes 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?