Migracion desde Sybase Adaptive Server (ASE) a MSSQL

Eventos:

Octubre 2021 se filtra la oficina y la filtración arruina una sola maquina. El servidor donde estaba la base de datos de Sybase. No le paso nada a la base de datos, pero ahí comienza el problema. El gerente decide que usar un servidor es caro y compra una workstation, pide que se le instale windows 10, le ponemos una maquina virtual, et vuala, instalamos Windows 2000 y el Sybase versión 12. Ambos con mas de 20 años de antiguedad. Que podria salir mal. 

Windows 10 que obviamente no es para funcionar como servidor, llegan las actualizaciones automáticas, un par de actualizaciones automáticas que reinician  la maquina virtual y se desato el caos. Las tablas mas importantes quedaron dañadas. Se reporta la situación, pero como es un equipo que tenia la sincronización propietaria de Sybase, con mas de 100 remotos, era imposible ocupar un respaldo, porque automáticamente habría que recrear las 100+ remotas. En ese momento pues ahora si, el Gte de TI, decide que por que no habíamos comprado un servidor, y rápidamente consigue la autorización para comprar todo nuevo.

10 meses despues, se desato el infierno, Sybase no permitía ninguna operación a ninguna tabla. 

Que aprendí de esto:

1.- Nunca ocupes windows 10 como server, mejor usa Linux ( o Windows Server si lo puedes pagar).

2.- Deja todo por correo por si de repente alguien olvida porque instalaste en una virtual con Windows 10 la base de de datos de producción con 150 GB con datos de 15 años.

2.- La migración de las Tablas, Triggers, Stored Procedures, fue relativamente sencilla, casi toda la sintaxis es igual, sin embargo si hay puntos finos importantes.

- Dentro de los SP y TR tienes que cambiar la sintaxis de COMMIT a COMMIT TRANSACTION

- Si quieres un COMMIT TRANSACTION a medio camino en un SP tienes que iniciar de nuevo la transacción con BEGIN TRANSACTION. En Sybase es implícito.

- No puedes tener en un Stored Procedure un cursor con el mismo nombre, aun cuando le hagas el deallocate. Tienen que llamarse diferente.

Para poder sustituir la replicación desde CERO, Python me ayudo a resolver ese problema . Después si "hay tiempo" lo haré con C# u otra cosa. No me gusta usar Python para cosas como esa, porque cada que reinstalas un equipo es una pesadilla hacer que el python funcione como estaba configurado.



Comentarios

Entradas más populares de este blog

Pentaho Spoon y conexion a Sybase SQL Anywhere 8

Modem Telmex TG582n administrar con Telnet