No es una novedad que SQL Server es un motor de base de datos bastante poderoso y que está bien pensado (al menos desde el punto de vista empresarial), pero sí hay que sufrir mucho para poder hacer algunas tareas “rutinarias” que se hacen fácilmente -o en ocasiones no tanto- con MySQL MariaDB.

En los últimos días he estado intentado conectar algunas bases de datos para hacer réplica (o sincronización para los menos puristas) entre un servidor antiguo y uno nuevo tras hacer un escalado vertical del servicio.

Desde el punto de vista de Microsoft todo es fácil, pero desde el punto de vista de un usuario de Linux no lo es, y basta con intentar la primera cosa entre ambos servidores para darte cuenta que este camino es largo y tortuoso sin que tengas a un Dios a quien rezarle.


Yo, al descubrir que las réplicas tenían sus pero… :(

Para resumir mi frustración experiencia:

  • las réplicas transaccionales solamente se pueden hacer en tablas con llaves primarias.
  • las réplicas mixtas o de mezcla son buenas cuando tienes una granja y te puedes permitir la sincronización de elementos entre servidores, pero con mucho cuidado con los campos identidad (IDENTITY)
  • las réplicas de instántaneas (o snapshots) son buenas cuando te puedes permitir un retraso en la actualización de la información (y un bloqueo de las tablas cuando se deben obtener las instántaneas)

Tras descubrir que este mundo no estaba preparado para migrar las bases de datos de servidor, decanté por la solución más larga y fome: obtener los backups del servidor de producción y montarlos en el nuevo servidor para probar cómo se iba a ver todo tras la migración. En pocas horas he descubierto que sí, va a andar mucho mejor (gracias a Dios informático).

En pocas semanas más podemos dejar partir al antiguo servidor a su morada definitiva (problemas con los ventiladores y fuentes) y tendrá su buena despedida, tras los dolores de cabeza que nos generó.