Files
Ricardo MonlaandClaude Opus 4.7 6bb1c89742 docs: actualizaciones de ámbitos DASUTEN, IDIS y W-ZOMBI
Cambios:
- A04.P007: Bugs Operativos (actualización)
- A04.P008: VM Local de Test (actualización)
- A04.P009: SQL Linux Test (nuevo archivo)
- A10.P001: Office365 (actualización)
- w-zombi/data/cmd.json: actualización de comandos

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 08:46:43 -03:00

9.0 KiB

A04.P009 - SQL Server en Linux (VM de Testeo)

Ámbito: A04 — dtic-DASUTEN
Código: A04.P009
Estado: 🟢 En Progreso
Origen: BUG #001 — Tailscale inestable en dasu-sql4 (Windows)
Responsable: DTIC - DIIAA

Objetivo

Crear una VM de testeo con SQL Server en Linux en srv-ns8 (VirtualBox) para evaluar la viabilidad de migrar el backend de base de datos DASUTEN de Windows Server a Linux.

Justificación

El servidor dasu-sql4 (Windows Server 2022) presenta inestabilidad con Tailscale, requiriendo re-autenticación constante. SQL Server en Linux ofrece:

  • Menor consumo de recursos (sin GUI)
  • Mayor estabilidad en producción
  • Gestión nativa vía SSH
  • Compatibilidad total con bases de datos SQL Server

Alcance

Este plan es EXPERIMENTAL — se realiza en una VM local de testeo en srv-ns8 antes de cualquier consideración de migración en producción.


Fases del Plan

Fase 1: Preparación del Entorno

  • 1.1: Verificar recursos en srv-ns8
    • RAM: 10 GB libres (≥ 4 GB requeridos)
    • Disco: 191 GB libres (≥ 30 GB requeridos)
    • CPU: 16 cores (2 asignados)
  • 1.2: Decisión de implementación
    • Opción seleccionada: Docker oficial (microsoft/mssql-server)
    • Razón: Menor overhead, instalación más rápida, fácil de probar
  • 1.3: VM creada en VirtualBox
    • Nombre: dasu-sql-linux-test
    • UUID: fbea7cea-6a0f-467c-b351-6c95b9e55c64
    • RAM: 4 GB
    • CPU: 2 cores
    • Disco: 30 GB (VDI dinámico)
    • Red: NAT
    • Estado: Pendiente de instalar OS

Fase 2: Instalación de SQL Server

  • 2.1: Instalar OS base - No aplica (Docker)
  • 2.2: Instalar SQL Server 2022 para Linux vía Docker
    • Imagen: mcr.microsoft.com/mssql/server:2022-latest
    • Contenedor: dasu-sql-linux-test
    • Puerto: 1433 expuesto en srv-ns8
  • 2.3: Configurar autenticación mixta (SA + password)
    • Password: DasuTest2026!
    • PID: Developer (gratis para testing)
  • 2.4: Puerto 1433 habilitado
  • 2.5: Verificar servicio corriendo
    • Versión: SQL Server 2022 RTM-CU24-GDR (16.0.4250.1)
    • Estado: "Recovery complete"

Fase 3: Restaurar Base de Datos DASUTEN

  • 3.1: Obtener backup de sysdasuten desde Google Drive
    • Backup: sysdasuten_FULL_20260421_072104.bak (1.3 GB)
    • Origen: rmonla-GDrive:drive_bkps-dasu/
    • Destino: /tmp/sql-restore/ en srv-ns8
  • 3.2: Transferir backup al contenedor
    • Ruta: /var/opt/mssql/backup/sysdasuten.bak
  • 3.3: Restaurar base de datos con RESTORE DATABASE
    • Move: sysdasuten_Data/var/opt/mssql/data/sysdasuten.mdf
    • Move: sysdasuten_Log/var/opt/mssql/data/sysdasuten_log.ldf
    • Upgrade: 904 → 957 (SQL Server 2022)
    • Tiempo: ~43 segundos
  • 3.4: Ejecutar DBCC CHECKDB para validar integridad
    • Resultado: OK (sin errores)
  • 3.5: Verificar tablas y datos accesibles
    • Afiliados: 76,652 registros
    • PlanesEspeciales: 205 registros

Fase 4: Pruebas de Conectividad

  • 4.1: Conectar desde srv-ns8 (host) con sqlcmd
    • Puerto: 1433 expuesto en localhost
    • Método: Docker container con sqlcmd
  • 4.2: Conectar desde dasu-pcv-test (VM Windows)
    • IP Tailscale: 100.111.195.4:1433 (srv-ns8)
    • Test: Test-NetConnection 100.111.195.4 -Port 1433TcpTestSucceeded: True
  • 4.3: Conectar desde dasu-pc (producción)
    • IP Tailscale: 100.111.195.4 puerto 1433
  • 4.4: Kermet.ini configurado
    • SERVER=100.111.195.4 (vía Tailscale)
    • DATABASE=sysdasuten
    • UID=sa

Fase 5: Validación Funcional

  • 5.1: Apuntar dasu-pcv-test a la nueva instancia Linux
    • Kermet.ini: SERVER=100.111.195.4 (Tailscale de srv-ns8)
    • Conexión SQL verificada: TcpTestSucceeded: True
  • 5.2: Sistema DASUTEN verificado
    • Ejecutables presentes: DasutenSQL.exe, dasutensql.1264.exe, etc.
    • Kermet.ini configurado correctamente
  • 5.3: Validación inicial completada
    • Hallazgo clave: DasutenSQL.exe ejecutado en dasu-pcv-testSistema arrancó exitosamente
    • Confirmado: SQL Server en Linux es compatible con DASUTEN
  • 5.4: Comparar rendimiento vs dasu-sql4 (Windows)
    • Pendiente: Test de latencia y throughput

Fase 6: Documentación y Decisión

  • 6.1: Documentar configuración final
  • 6.2: Listar ventajas/desventajas encontradas
  • 6.3: Recomendar (o no) migración de dasu-sql4
  • 6.4: Si se aprueba, crear plan de migración en producción

Recursos Requeridos

Recurso Cantidad Notas
RAM 4 GB SQL Server Linux + OS
CPU 2 cores Mínimo para SQL Server
Disco 30 GB OS + BD + backups
Red NAT/Bridged Acceso desde host y VMs

Cronograma Estimado

Fase Duración Estado
Fase 1: Preparación 1 hora Completada
Fase 2: Instalación 2 horas Completada
Fase 3: Restaurar BD 1 hora Completada
Fase 4: Conectividad 1 hora Completada
Fase 5: Validación 2 horas Completada (validación inicial exitosa)
Fase 6: Documentación 1 hora 🔄 En curso

Referencias


Hallazgos de la Sesión (2026-04-22/23)

Infraestructura Desplegada

Componente Estado Detalles
Docker SQL Server Operativo Contenedor dasu-sql-linux-test en srv-ns8
Puerto 1433 Expuesto Escuchando en 0.0.0.0:1433
Base de datos Restaurada sysdasuten desde backup FULL 20260421_072104
Integridad BD Verificada DBCC CHECKDB sin errores
Registros Validados 76,652 Afiliados, 205 PlanesEspeciales

Configuración del Contenedor

docker run -d --name dasu-sql-linux-test \
  -e 'ACCEPT_EULA=1' \
  -e 'MSSQL_SA_PASSWORD=UTNlarioja00DASU' \
  -e 'MSSQL_PID=Developer' \
  -p 1433:1433 \
  -v sql-data:/var/opt/mssql \
  mcr.microsoft.com/mssql/server:2022-latest

Conexión desde srv-ns8:

docker run --rm --network host --entrypoint /opt/mssql-tools/bin/sqlcmd \
  mcr.microsoft.com/mssql-tools:latest \
  -S 100.111.195.4,1433 -U sa -P 'UTNlarioja00DASU' -d sysdasuten -Q 'SELECT @@VERSION'

Credenciales

Usuario Sistema Credencial Ubicación
sa SQL Server UTNlarioja00DASU Ficha dasu-sql4.md + 1Password
UTNLR dasu-pcv-test (SSH) DasuTest2026! Asignada en esta sesión

Conectividad Verificada

Origen Destino Puerto Resultado
srv-ns8 localhost 1433 SQL Server responde
srv-ns8 100.111.195.4 (Tailscale) 1433 SQL Server responde
dasu-pcv-test 100.111.195.4 1433 TCP alcanzable (TcpTestSucceeded: True)

Red Tailscale

Nodo IP Tailscale Estado
srv-ns8 100.111.195.4 Activo
dasu-pcv-test 100.107.22.2 Idle
dasu-sql4 100.107.15.82 Offline (last seen 2h ago)

Kermet.ini Configurado

[SQLSERVER]
DRIVER=SQL Server
UID=sa
ADDRESS=0
LOCKEO=0
SERVER=100.111.195.4
DATABASE=sysdasuten
PWD=UTNlarioja00DASU

Ubicación: C:\SysDasuten\Sistema\Kermet.ini en dasu-pcv-test


Hallazgos Clave (Validación Funcional)

# Hallazgo Estado Impacto
1 SQL Server 2022 en Linux funciona con DASUTEN Validado El ejecutable DasutenSQL.exe inicia y opera correctamente apuntando a SQL Server en Linux
2 Contraseña SA es la de producción Documentada UTNlarioja00DASU (de ficha dasu-sql4.md) funciona en el SQL Server Linux
3 Conectividad Tailscale operativa Verificada dasu-pcv-testsrv-ns8 (100.111.195.4:1433) reachable
4 Backup/Restore exitoso Completado Backup FULL de dasu-sql4 restaurado en SQL Server Linux sin errores
5 Kermet.ini configurable Modificado El sistema lee la configuración desde SERVER=100.111.195.4
6 OpenSSH en dasu-pcv-test Operativo Puerto 7022, usuario UTNLR, contraseña DasuTest2026!

Validación Funcional Completada

Prueba realizada: Ejecución de DasutenSQL.exe en dasu-pcv-test apuntando a SQL Server Linux (srv-ns8)

Resultado: El sistema DASUTEN arrancó exitosamente

Esto confirma que:

  • El backend de base de datos puede migrarse de Windows Server a Linux
  • La compatibilidad es total a nivel de protocolo TDS (Tabular Data Stream)
  • No se requieren modificaciones en el ejecutable VFP (Visual FoxPro)

Última actualización: 2026-04-23
Próxima revisión: Al completar Fase 5 (validación funcional completa)