Cómo solucionar un error
Es posible que el proceso de trabajo de migración genere errores durante el tiempo de ejecución.
- En el caso de algunos errores, Database Migration Service vuelve a intentar automáticamente las operaciones defectuosas para continuar con el proceso de migración y evitar interrupciones. El estado del trabajo de migración cambia a En ejecución con errores. Este estado representa el hecho de que Database Migration Service continúa migrando datos que no se ven afectados por los errores.
- Algunos errores no se pueden recuperar. Cuando Database Migration Service encuentra un error irrecuperable, el estado del trabajo de migración cambia a Falló. En esos casos, el trabajo de migración se debe reiniciar después de que se solucione el problema.
Para solucionar un error, navega al trabajo de migración afectado, búscalo y sigue los pasos que se indican en el mensaje de error. También puedes obtener más detalles si ves los registros de Cloud Monitoring de tu instancia de destino de Cloud SQL. Usa el vínculo de Cloud Monitoring en la página de detalles del trabajo de migración.
En la siguiente tabla, encontrarás algunos ejemplos de problemas y cómo se pueden resolver:
Situación | Posible problema | Solución |
---|---|---|
Mensaje de error: The BAK file's database major version number
{backup_version_num} must not be higher than the current database
major version number {your Cloud SQL for SQL Server version number} . |
Estás intentando importar archivos de copia de seguridad de una versión más reciente de SQL Server que la que usas en tu instancia de destino de Cloud SQL para SQL Server.
Database Migration Service solo admite migraciones entre versiones de versiones anteriores a versiones posteriores si cumples con los lineamientos de compatibilidad entre versiones. Consulta Bases de datos de origen y destino compatibles. |
Vuelve a crear la instancia de destino de Cloud SQL para SQL Server para usar una versión posterior de SQL Server y vuelve a intentar el proceso de migración con tu instancia nueva. |
Mensaje de error: The following database already exists in destination: {database_name} .
|
Tu instancia de destino de Cloud SQL ya contiene una base de datos que usa el mismo nombre que una de las bases de datos incluidas en tu trabajo de migración. | Quita el conflicto de nombres. Consulta Error: La base de datos ya existe en el destino . |
Mensaje de error:
Permission denied for {cloudsql.databases.get} on the Database Migration Service service account. |
A la cuenta de servicio de Database Migration Service le faltan permisos. | Agrega los permisos faltantes a la cuenta de servicio de Database Migration Service. Consulta Control de acceso con IAM. |
Mensaje de error:
Missing WAL file at Log Sequence Number (LSN) {log_number_here} |
Es posible que los archivos de registro de transacciones usen marcas de tiempo de época incorrectas con respecto al orden de las actualizaciones que contienen. Database Migration Service usa números de secuencia de registro y marcas de tiempo de época para controlar el orden en que se replican los archivos de registro de transacciones en la instancia de destino de Cloud SQL. | Verifica y ajusta las marcas de tiempo de época que se usan en los nombres de archivo de tus archivos de registro de transacciones más recientes. Consulta Ajusta los nombres de los registros de transacciones defectuosos. |
Error: La base de datos ya existe en el destino
Aparece el siguiente mensaje de error: The following database already exists in destination: {database_name}
.
Posible problema
Tu instancia de destino de Cloud SQL ya contiene una base de datos que usa el mismo nombre que una de las bases de datos incluidas en tu trabajo de migración.
Solución
Según tu situación de migración, existen diferentes maneras de resolver el problema de las bases de datos duplicadas. Prueba una de las siguientes acciones:
Cambia el nombre del bucket de Cloud Storage de origen para migrar tu base de datos con un nombre diferente.
El nombre de la base de datos que crea Database Migration Service en tu instancia de Cloud SQL de destino se deriva de los nombres de las carpetas en Cloud Storage en las que almacenas los archivos de copia de seguridad. Si tienes dos bases de datos diferentes que comparten el nombre y las necesitas en tu destino de Cloud SQL, puedes cambiar el nombre de las carpetas y volver a crear la tarea de migración para evitar el conflicto de nombres.
Sigue los siguientes pasos:
- Crea carpetas nuevas para la base de datos de origen afectada por el conflicto de nombres. Consulta Almacena archivos de copia de seguridad en un bucket de Cloud Storage .
- Vuelve a crear el trabajo de migración. Consulta
Crea un trabajo de migración.
Puedes agregar bases de datos nuevas a un trabajo de migración existente, pero no puedes quitar bases de datos de un trabajo de migración. Por eso, debes volver a crear todo el trabajo de migración.
Elimina la base de datos duplicada de tu instancia de Cloud SQL para SQL Server.
Si la base de datos de tu instancia de destino de Cloud SQL es un duplicado, puedes quitarla de tu instancia y continuar con el trabajo de migración. Consulta Cómo borrar una base de datos en la documentación de Cloud SQL para SQL Server.
Ajusta los nombres de los archivos de registro de transacciones para los archivos WAL desordenados
Posible problema
Es posible que los archivos de registro de transacciones usen marcas de tiempo de época incorrectas con respecto al orden de las actualizaciones que contienen. Database Migration Service usa números de secuencia de registro y marcas de tiempo de época para controlar el orden en que los archivos de registro de transacciones se replican en la instancia de destino de Cloud SQL.
Solución
Es posible que las cargas de archivos se retrasen o se desordenen. Espera varios minutos para que se resuelva el problema o comprueba si faltan archivos en tu bucket de Cloud Storage.
Si el problema persiste, verifica y ajusta las marcas de tiempo de época en los nombres de los archivos de registro de transacciones.
Sigue los siguientes pasos:
- Consulta la lista de tus operaciones de importación de registros de transacciones en la instancia de Cloud SQL para SQL Server de destino. En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.
- Haz clic en Ver todas las operaciones > Ver registros de error de SQL Server.
- Consulta todas las operaciones de importación de los archivos de registro de transacciones y verifica si sus nombres de archivo contienen marcas de tiempo de época correctas.
- Si observas que los archivos de registro de transacciones recientes usan nombres con marcas de tiempo de época desordenadas, ve a tu bucket de Cloud Storage y cambia el nombre del archivo. Database Migration Service detecta automáticamente el cambio y, luego, intenta importar los archivos de registro de transacciones relevantes.
- Solo para Amazon RDS: Es posible que se hayan omitido algunos archivos de registro de transacciones durante el proceso de exportación a S3. Intenta volver a ejecutar la función de exportación de registros de transacciones para el período en el que faltan los archivos WAL.