Un nuevo proyecto de BI / Base de datos: ¿cómo tomar bases de datos bajo control de versión?

Estamos comenzando un nuevo proyecto de BI en nuestra compañía. Tenemos al less tres desarrolladores trabajando con el layout y desarrollo de la database. Nuestras herramientas incluyen Sparks EA, SQL Server 2008 EE y herramientas de informes indeterminados. ¿Qué tipo de herramientas se puede usar para el control de la versión de la database en SQL Server? ¿Qué tipo de sistemas de control de versiones hay disponibles para el desarrollo de bases de datos (administración de versiones del esquema de database, tablas, procedimientos almacenados, etc.)?

Visual Studio Team System incluye las características de la Edición de database para control de fuente de la database, implementación, comparación de esquema y más. No necesariamente necesita una herramienta para realizar versiones de bases de datos, pero si desea una herramienta, entonces VSTS es una opción.

A menudo es más fácil exportar un set de scripts que crearía su database desde cero, y ponerlos en control de versión en su lugar.

Luego, si desea actualizar una database a una "versión" desde el control de origen, podría usar una herramienta como SQL Compare o "Data Dude" para comparar dos bases de datos (o scripts de creación y una database) y aplicar los cambios de uno a el otro.

Creamos todos los cambios de la database en scripts, nunca utilizamos la GUI. A continuación, guarde los scripts en las carpetas que forman parte de nuestra tienda de Subversion al igual que cualquier otra pieza de código. Dado que nuestra gente de gestión de configuration no presionará para pinchar sin un script, no tenemos ningún recurso para hacer cumplir esto. La belleza es que tienes todos los scripts que necesitas para un cambio particular ubicado juntos y aquellos en otro cambio que aún no están listos para ir a prod no son empujados por crash.

También almacenamos todos nuestros packages de SSIS como files y también almacenamos nuestras configuraciones en sripts y las promocionamos de la misma manera.

Si desea hacer una comparación entre las bases de datos para asegurarse de que no se perdió nada, le recomiendo SQLCompare por Red-gate.