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 realizar las siguientes tareas:
Seleccionar perfiles de conexión de origen y destino.
Elegir qué bases de datos detectadas en tu instancia de origen quieres migrar
Realizar una prueba de trabajo de migración para asegurarte de 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
- 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.
- 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 Cloud SQL Admin.
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 necesarios:
Permisos necesarios
Se requieren los siguientes permisos para realizar migraciones homogéneas de SQL Server con Database Migration Service:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.databases.getcloudsql.databases.deletecloudsql.operations.getcompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.liststorage.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 la 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 trabajo de migración de borrador. Puedes terminar el borrador del trabajo de migración más tarde. Consulta Actualiza un trabajo de migración en borrador.
- En la página Comenzar, ingresa la siguiente información:
- Nombre del trabajo de migración
Este es un nombre legible por humanos 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. Usa este valor para trabajar con trabajos de migración con los comandos de Google Cloud CLI 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.
- 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 de origen, 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 Crea un perfil de conexión de origen.
- Si deseas usar un archivo de copia de seguridad diferencial en tu migración,
en la sección Personaliza la configuración de origen, marca la casilla de verificación
Usar copias de seguridad diferenciales.
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 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 copia de seguridad compatibles.
Si usas copias de seguridad diferenciales, asegúrate de crear la carpeta
diffen 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 cómo crear perfiles de conexión, consulta Crea un perfil de conexión de destino.
- Haz clic en Guardar y continuar.
- En la página Configura las bases de datos de migración, realiza las siguientes acciones:
- En la sección Selecciona las bases de datos que quieres migrar, usa las
casillas de verificación para seleccionar las bases de datos que quieres incluir en este
trabajo de migración. Esta lista se completa según 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 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.
- 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 que quieres migrar, usa las
casillas de verificación para seleccionar las bases de datos que quieres incluir en este
trabajo de migración. Esta lista se completa según las carpetas que creaste
en el bucket de Cloud Storage para tus archivos de copia de seguridad.
- Haz clic en Guardar y continuar.
- En Prueba y crea 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 el trabajo de migración en otro momento, haz clic en Guardar y vuelve más tarde para ejecutarlo. 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 lo haces, debes usar el comando
gcloud database-migration operations describe
para verificar si la operación se realizó de forma correcta.
Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
- MIGRATION_JOB_ID por un identificador legible por máquinas para tu trabajo de migración. Usa este valor para trabajar con trabajos de migración con los comandos de Google Cloud CLI 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 por humanos para tu trabajo de migración. Este valor se muestra en Database Migration Service en la consola de Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID por un identificador legible por máquinas del perfil de conexión de origen.
- 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 bases de datos de SQL Server 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 tu Cloud Storage.
Por ejemplo:
--sqlserver-databases=my-business-database,my-other-database. - Configuración de la copia de seguridad diferencial: Si usas archivos de copia de seguridad diferencial para la
migración, agrega la marca
--sqlserver-diff-backupa tu comando. De forma predeterminada, los trabajos de migración no usan archivos de copia de seguridad diferencial y, además, ignoran la carpetadiffen 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 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 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]
Ya 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.