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
- 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.
- En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud .
- Habilita las APIs de Database Migration Service, Compute Engine, Cloud Storage y Administrador de Cloud SQL.
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:
-
Administrador de Database Migration (
roles/datamigration.admin
) -
Administrador de almacenamiento (
roles/storage.admin
) -
Editor de Cloud SQL (
roles/cloudsql.editor
)
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
- En la consola de Google Cloud , ve a la página Trabajos de migración.
- 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.
- 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.
- Nombre del trabajo de migración
- Haz clic en Guardar y continuar.
- En la página Define tu fuente, haz lo siguiente:
- 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.
- 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. - Haz clic en Guardar y continuar.
- Usa el menú desplegable para seleccionar tu perfil de conexión de origen.
- 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.
- Haz clic en Guardar y continuar.
- En la página Configurar bases de datos de migración, realiza las siguientes acciones:
- 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.
- 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.
- Haz clic en Editar detalles junto a la base de datos
que seleccionaste para la migración.
- 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.
- Haz clic en Guardar y continuar.
- En Probar y crear el trabajo de migración, realiza las siguientes acciones:
- (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.
- 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.
- (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.
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 carpetadiff
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]
Se creó el trabajo de migración. Puedes continuar con el proceso de migración:
- (Opcional) Realiza una prueba de trabajo de migración para verificar si Database Migration Service puede llegar a todas las entidades de origen y destino necesarias.
- Inicia el trabajo de migración para comenzar a mover tus datos a la instancia de destino.