¿Cómo realiza un seguimiento de los cambios en la base de datos en el control de origen?

Utilizamos SQL Server 2000/2005 y Vault o SVN en la mayoría de nuestros proyectos. No he encontrado una solución decente para capturar cambios en el esquema / proceso de la base de datos en ninguno de los sistemas de control de código fuente.

Nuestra solución actual es bastante engorrosa y difícil de aplicar (crea un script para el objeto que cambias y lo confirma en la base de datos).

Tenemos muchas ideas sobre cómo abordar este problema con un desarrollo personalizado, pero prefiero instalar una herramienta existente (las herramientas pagas están bien).

Entonces: ¿cómo rastrea los cambios en el código de su base de datos? ¿Tienes alguna herramienta recomendada?

Editar:

Gracias por todas las sugerencias. Debido a limitaciones de tiempo, prefiero no rodar el mío aquí. Y la mayoría de las sugerencias tienen el defecto de que requieren que el desarrollador siga algún procedimiento.

En cambio, una solución ideal supervisaría la base de datos SQL en busca de cambios y confirmaría cualquier cambio detectado en SCM. Por ejemplo, si SQL Server tuviera un complemento que pudiera registrar cualquier cambio de DML con el usuario que realizó el cambio, y luego enviar el script de ese objeto a SCM, estaría encantado.

Hablamos internamente sobre dos sistemas: 1. En SQL 2005, use permisos de objeto para restringir que altere un objeto hasta que haya realizado un "pago". Luego, el procedimiento de registro lo escribiría en el SCM. 2. Ejecute un trabajo programado para detectar cualquier cambio y confirmarlo (anónimamente) en SCM.

Sería bueno si pudiera omitir la parte de acción del usuario y hacer que el sistema maneje todo esto automáticamente.

Respuestas a la pregunta(13)

Su respuesta a la pregunta