Diagnostica problemas de SQL Server

Cómo solucionar un error

El proceso del trabajo de migración puede generar errores durante el tiempo de ejecución.

  • En el caso de algunos errores, Database Migration Service reintenta automáticamente las operaciones con errores 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 sigue migrando datos que no se ven afectados por los errores.
  • Algunos errores son irrecuperables. Cuando Database Migration Service encuentra un error irrecuperable, el estado del trabajo de migración cambia a Con errores. En esos casos, el trabajo de migración debe reiniciarse después de que se solucione el problema.

Para solucionar un error, navega al trabajo de migración afectado, visualiza el error y sigue los pasos que se indican en el mensaje de error. También puedes obtener más detalles si consultas 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, puedes encontrar 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 de SQL Server posterior a 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 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: database already exists in destination
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 ciclo incorrectas en relación con el 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 tus archivos de registro de transacciones más recientes. Consulta Ajusta los nombres de los registros de transacciones defectuosos.
Cuando migras las bases de datos seleccionadas y el trabajo de migración no puede replicar datos en una o más bases de datos, se muestra el estado Con errores en la lista de bases de datos. Varios errores de trabajos de migración.

En la columna Errores, haz clic en Ver errores y corrígelos. Después de corregir los errores, haz clic en Reiniciar.

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 la situación de migración, existen diferentes formas 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 Database Migration Service crea 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 necesitas ambas en tu destino de Cloud SQL, puedes cambiar el nombre de las carpetas y volver a crear el trabajo de migración para evitar el conflicto de nombres.

Sigue los siguientes pasos:

  1. Crea carpetas nuevas para la base de datos de origen que se ve afectada por el conflicto de nombres. Consulta Almacena archivos de copia de seguridad en un bucket de Cloud Storage .
  2. 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.

Descarta 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 descartarla de tu instancia y continuar con el trabajo de migración. Consulta Borra 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 ciclo incorrectas en relación con el 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.

Solución

Es posible que las cargas de archivos se retrasen o no se realicen en orden. Espera varios minutos para que se resuelva el problema o verifica 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:

  1. Verifica la lista de tus operaciones de importación de registros de transacciones en la instancia de destino de Cloud SQL para SQL Server. En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Haz clic en Ver todas las operaciones > Ver registros de errores de SQL Server.
  3. 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 ciclo correctas.
  4. Si notas 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 el cambio automáticamente y, luego, intenta importar los archivos de registro de transacciones pertinentes.
  5. Solo para Amazon RDS: Es posible que algunos archivos de registro de transacciones se hayan omitido durante el proceso de exportación a S3. Intenta volver a ejecutar la función de exportación del registro de transacciones para el período en torno a los archivos WAL faltantes.