Solución de problemas de bases de datos
Este artículo aborda los problemas comunes relacionados con bases de datos en dab Nexus y sus soluciones.
Inconsistencias en el estado de las tareas
Síntomas
- Las tareas permanecen en estado Running aunque hayan finalizado o fallado
- El estado de las tareas no coincide con el estado real de la extracción
- Las ejecuciones muestran estados de finalización incorrectos
- Las tareas programadas fallan de forma intermitente sin errores claros
Causa
Estos síntomas suelen aparecer cuando la Application Database y las bases de datos de Extraction/Results comparten el mismo SQL Server. Durante extracciones de datos grandes, el SQL Server está sometido a una carga considerable. Esto puede provocar:
- Expiración de conexiones hacia la Application Database
- Fallos en operaciones de escritura para actualizaciones de estado de tareas
- Información de estado inconsistente almacenada en la Application Database
La Application Database almacena todos los estados de tareas y debe permanecer disponible en todo momento. Cuando compite por recursos con cargas intensas de extracción, la estabilidad de la conexión se ve afectada.
Diagnóstico
Revise los registros de SQL Server en busca de:
- Errores de expiración de conexión
- Alertas de deadlock
- Mensajes de contención de recursos
Verifique la configuración actual:
- ¿La Application Database y las bases de Extraction están en el mismo SQL Server?
- ¿El problema ocurre durante o después de extracciones grandes?
Solución
Migre la Application Database a una instancia dedicada de SQL Server. Consulte la guía de migración a continuación.
Migración de la Application Database a una instancia separada
Si sufre inconsistencias en el estado de tareas o problemas de conexión debido a una instancia compartida de SQL Server, siga estos pasos para migrar la Application Database a una instancia dedicada.
Requisitos previos
- Nueva instancia de SQL Server aprovisionada (ver Requisitos técnicos)
- Acceso administrativo a ambas instancias de SQL Server
- Credenciales de cuenta de servicio de dab Nexus
- Ventana de tiempo suficiente para la migración
Pasos de migración
1. Crear respaldos
- Realice un respaldo completo de la Application Database
- También respalde todas las bases de datos de datos (Extraction/Results)
- Todos los datos de configuración (servicios de terceros, conexiones SAP, configuración de usuarios) se almacenan en la Application Database
No omita el paso de respaldo. La Application Database contiene toda la configuración de dab Nexus.
2. Detenga el servicio dab Nexus
- Abra Servicios de Windows (
services.msc) - Detenga el servicio dab Nexus
- Verifique que el servicio esté completamente detenido antes de continuar
3. Restaure la Application Database en la nueva instancia
- Restaure el respaldo de Application Database en la nueva instancia dedicada de SQL Server
- Asegúrese de que el nombre de la base de datos se mantenga igual, o registre el nuevo nombre para actualizar la configuración posteriormente
- Verifique que la restauración se haya completado correctamente
4. Ajustar Configuration.json
- Diríjase al directorio de instalación de dab Nexus
- Edite
Configuration.json - Actualice la cadena de conexión de
ApplicationDatabase:- Nombre del servidor: Actualice a la nueva instancia
- Nombre de la base de datos: Actualice si se cambió durante la restauración
- Consulte Referencia de Configuration.json para ejemplos de cadenas de conexión
Ejemplo de actualización de cadena de conexión:
"ConnectionStrings": {
"ApplicationDatabase": "Server=NEW-SQL-INSTANCE;Database=NexusHome;Trusted_Connection=True;MultipleActiveResultSets=true"
}
5. Reinicie el servicio dab Nexus
- Inicie el servicio dab Nexus
- Revise el visor de eventos de Windows en busca de errores de inicio
- Verifique el arranque exitoso accediendo a la interfaz web de dab Nexus
6. Crear nuevas conexiones SQL en dab Nexus
- Inicie sesión en dab Nexus
- Diríjase a Settings > SQL Servers
- Cree nuevas conexiones SQL que apunten a sus instancias de Extraction/Results
- Pruebe cada conexión antes de proceder
7. Actualizar tareas programadas
Revise todas las tareas que usan conexiones SQL:
- Desactive las tareas con la conexión SQL antigua (de otro modo fallarán)
- Clone cada tarea afectada
- Actualice la conexión SQL en la tarea clonada para que utilice la nueva conexión
- Active la nueva tarea
- Verifique que la tarea se ejecute correctamente
- Elimine la tarea antigua tras la verificación
No elimine las tareas antiguas hasta confirmar que las tareas clonadas funcionan apropiadamente.
Verificación tras la migración
- Realice una extracción de prueba para verificar la conectividad con la base de extracción
- Monitor estados de tareas para confirmar que se actualizan correctamente
- Revise los registros de SQL Server de ambas instancias por problemas de conexión
- Verifique que las tareas programadas se ejecutan correctamente
Errores de expiración de conexión
Síntomas
- Errores de "expiración de conexión" en los registros de dab Nexus
- Las tareas fallan debido a errores de conexión con la base de datos
- Problemas de conectividad intermitentes
Posibles causas
- Problemas de red entre dab Nexus y SQL Server
- SQL Server sobrecargado (problema de instancia compartida)
- El firewall bloquea las conexiones
- SQL Server no está configurado para conexiones remotas
Soluciones
- Verifique la conectividad de red usando
Test-NetConnectionotelnethacia el puerto de SQL Server (por defecto: 1433) - Revise el Configuration Manager de SQL Server para confirmar protocolos habilitados
- Revise las reglas de firewall para el puerto de SQL Server
- Considere migrar a instancias separadas si la sobrecarga es la causa
Errores de permisos
Síntomas
- Errores de "Access denied" o "permission denied"
- Imposible crear bases de datos o tablas
- Operaciones de lectura/escritura fallan
Solución
Verifique que la cuenta de servicio de dab Nexus tenga los permisos requeridos:
- Application Database: rol
db_owner(odb_datareader,db_datawriter,db_ddladmin) - Extraction/Results databases: rol
dbcreatora nivel de servidor (para creación automática) odb_owneren bases pre-creadas
Consulte Configuración de MS SQL-Server para requisitos detallados de permisos.