He leído muchas publicaciones sobre la importancia del control de la versión de la base de datos. Sin embargo, no pude encontrar una solución simple para comprobar si la base de datos está en el estado correcto.Verificar cambios en la base de datos (control de versión)
Por ejemplo, tengo una base de datos con una tabla llamada "Versión" (el número de versión se almacena allí). Pero los desarrolladores pueden acceder y editar la base de datos sin cambiar el número de versión. Si, por ejemplo, el desarrollador actualiza el procedimiento almacenado y no actualiza el estado de la base de datos de la versión no está sincronizado con el valor de la versión.
¿Cómo rastrear esos cambios? No necesito hacer un seguimiento de lo que ha cambiado, solo necesito verificar si las tablas de la base de datos, las vistas, los procedimientos, etc. están sincronizados con la versión de la base de datos guardada en la tabla de versiones.
¿Por qué necesito esto? Al hacer la implementación, necesito verificar que la base de datos sea "correcta". Además, no se deben rastrear todas las tablas u otros objetos de la base de datos. ¿Es posible verificar sin usar disparadores? ¿Se puede hacer sin herramientas de terceros? ¿Las bases de datos tienen sumas de comprobación?
supongamos que usamos SQL Server 2005.
Editado:
creo que debería proporcionar un poco más de información acerca de nuestro entorno actual - tenemos una "línea de base" con todos los scripts necesarios para crear la base versión (incluye objetos de datos y "metadatos" para nuestra aplicación). Sin embargo, hay muchas instalaciones de esta versión "base" con algunos objetos de base de datos adicionales (tablas adicionales, vistas, procedimientos, etc.). Cuando hacemos algún cambio en la versión "base" también tenemos que actualizar algunas instalaciones (no todas), en ese momento tenemos que verificar que la "base" esté en el estado correcto.
Gracias
He usado DbGhost durante 10 años y nunca me decepcionó. El apoyo que brindan es insuperable. – penderi