Pregunta

Mi equipo es la evaluación de los procesos y herramientas para la gestión de la base de datos de migraciones/base de datos de refactorización como descrito por Martin Fowler, Pramod Sadalage, et.al.Estamos interesados en automática, repetible comprobable procesos, de manera que no estamos interesados en técnicas como manualmente ejecutando SQL Compare cada vez que queremos implementar.Actualmente estamos utilizando CruiseControl.NET para la integración continua.

Nuestro entorno de producción tiene múltiples SQL Server 2000 servidores de base de datos con replicación entre ellos.Nuestro migraciones haciendo cambios en el esquema en el origen y el destino de la base de datos del servidor.

Para realizar este tipo de migración con una herramienta como dbdeploy, parece que sería necesario para ejecutar la migración en contra de uno de los servidores, y habría que añadir los otros servidores como servidores vinculados.Una única secuencia de comandos que se ejecuta el servidor principal, por tanto, podría ejecutar DDL en contra de cualquiera de los servidores vinculados.

Mi pregunta es la siguiente:sería este enfoque se considera una mejor práctica, o hay una mejor técnica para la aplicación de las migraciones que tocar varios servidores de base de datos?

¿Fue útil?

Solución

No veo nada inherentemente malo con este enfoque, sin embargo al tiempo de la configuración, asegúrese de comprobar lo que sucede cuando uno de los enlaces de los servidores de abajo.Usted no quiere estar rodando de vuelta a todos los otros servidores si uno pasa a ser hacia abajo y ¿quieres saber los cambios no se aplican a ese servidor.

Por supuesto, el primero, el más importante de mejores prácticas para la migración es asegurarse de que tiene un sólido proceso de copia de seguridad en su lugar antes de iniciar la migración de los cambios.

Otros consejos

Visual Studio 2008 (Equipo de Edición , específicamente GDR) puede controlar la implementación automatizada de esquema contra definido el esquema/archivo de metadatos que se pueden implementar en los servidores.Esto podría ser incluido en la compilación /implementar el proceso.Sin embargo, creo que todavía hay un problema sobre la replicación y los cambios de esquema - no hay ningún paquete que comprende/es consciente de su instalación de replicación.

Por ejemplo, utilizamos personalizado procedimientos de duplicación en el suscriptor y a pesar de los cambios de esquema se propagan desde el editor a veces tenemos manualmente el script de cambios en función de la replicación personalizado tenemos en el lugar.Si no utiliza la replicación personalizado procs, yo diría que este era el camino a seguir.

Usted puede probar una combinación de Chinchillin y Wizardby:instalar Chinchillin agentes en DB servidores y tiene que ejecutar Wizardby scripts de migración durante el proceso de implementación.

Esta integración está en las obras, aunque :)

Aquí en la Puerta Roja que ahora tenemos un repetible migraciones solución que utiliza SQL Compare y SQL Control de código Fuente.El SQL Compare línea de comandos por lo tanto puede ser utilizado para apoyar un proceso de integración continua.

http://www.red-gate.com/MessageBoard/viewtopic.php?t=14107

Es actualmente un acceso temprano a construir, por lo tanto, estamos dispuestos a llegar como tantos comentarios como sea posible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top