Diagnosticar problemas de SQL Server

Solucionar un error

El proceso de la tarea de migración puede generar errores durante el tiempo de ejecución.

  • En algunos casos, Database Migration Service vuelve a intentar automáticamente las operaciones defectuosas para continuar el proceso de migración y evitar interrupciones. El estado de la tarea de migración cambia a En ejecución con errores. Este estado representa el hecho de que Database Migration Service sigue migrando datos sin que los errores le afecten.
  • Algunos errores no se pueden recuperar. Cuando el servicio de migración de bases de datos detecta un error irrecuperable, el estado de la tarea de migración cambia a Failed (Error). En estos casos, la tarea de migración debe reiniciarse una vez que se haya solucionado el problema.

Para solucionar un error, vaya al trabajo de migración afectado, vea el error y siga los pasos que se indican en el mensaje de error. También puedes obtener más información consultando los registros de Cloud Monitoring de tu instancia de destino de Cloud SQL. Usa el enlace de Cloud Monitoring en la página de detalles de la tarea de migración.

En la siguiente tabla, se muestran algunos ejemplos de problemas y cómo se pueden resolver:

Para este problema... El problema puede deberse a lo siguiente: Prueba esto...
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 las directrices 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 con una versión posterior de SQL Server y vuelve a intentar el proceso de migración con la nueva instancia.
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 tiene el mismo nombre que una de las bases de datos incluidas en tu trabajo de migración. Elimina 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. Faltan permisos en la cuenta de servicio del servicio de migración de bases de datos. Añade los permisos que faltan a la cuenta de servicio de Database Migration Service. Consulta Control de acceso con la gestión de identidades y accesos.
Mensaje de error: Missing WAL file at Log Sequence Number (LSN) {log_number_here} Es posible que tus archivos de registro de transacciones estén usando marcas de tiempo de época 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 el que se replican los archivos de registro de transacciones en la instancia de destino de Cloud SQL. Comprueba 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 Ajustar nombres de registros de transacciones incorrectos.
Cuando migras bases de datos seleccionadas y la tarea de migración no puede replicar datos en una o varias bases de datos, se muestra el estado Error en la lista de bases de datos. Se han producido varios errores en las tareas de migración.

En la columna Errores, haga clic en Ver errores y corríjalos. Una vez que hayas corregido 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}.

El problema puede deberse a lo siguiente:

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.

Cosas que puedes probar

En función de tu situación de migración, hay diferentes formas de solucionar el problema de las bases de datos duplicadas. Prueba una de las siguientes acciones:

Cambia el nombre del segmento de Cloud Storage de origen para migrar tu base de datos con otro nombre.

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 de 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 estos pasos:

  1. Crea carpetas para la base de datos de origen afectada por el conflicto de nombres. Consulta el artículo sobre cómo almacenar archivos de copia de seguridad en un segmento de Cloud Storage .
  2. Vuelve a crear la tarea de migración. Consulta el artículo sobre cómo crear una tarea de migración.

    Puedes añadir bases de datos a una tarea de migración, pero no puedes eliminarlas. Por eso, debes volver a crear toda la tarea 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 eliminarla de tu instancia y continuar con la tarea de migración. Consulta Eliminar una base de datos en la documentación de Cloud SQL para SQL Server.


Ajustar los nombres de los archivos de registro de transacciones para los archivos WAL desordenados

El problema puede deberse a lo siguiente:

Es posible que tus archivos de registro de transacciones estén usando marcas de tiempo de época 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 el que se replican los archivos de registro de transacciones en la instancia de destino de Cloud SQL.

Cosas que puedes probar

Es posible que los archivos que subas se retrasen o no se suban en el orden correcto. Espera varios minutos para que se resuelva el problema o comprueba si faltan archivos en tu segmento de Cloud Storage.

Si el problema no se resuelve, verifique y ajuste las marcas de tiempo de época en los nombres de los archivos de registro de transacciones.

Sigue estos pasos:

  1. Consulta la lista de operaciones de importación de registros de transacciones en la instancia de Cloud SQL para SQL Server de destino. En la Google Cloud consola, 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 archivos de registro de transacciones y comprueba si sus nombres de archivo contienen marcas de tiempo de época correctas.
  4. Si observa que los archivos de registro de transacciones recientes usan nombres con marcas de tiempo de época desordenadas, vaya a su segmento de Cloud Storage y cambie el nombre del archivo. Database Migration Service detecta automáticamente el cambio e intenta importar los archivos de registro de transacciones pertinentes.
  5. Solo Amazon RDS: es posible que se hayan omitido algunos archivos de registro de transacciones durante el proceso de exportación a S3. Prueba a volver a ejecutar la función de exportación del registro de transacciones durante el periodo en el que faltan los archivos WAL.