Mi empresa está trasladando nuestra infraestructura a un nuevo centro de datos y estoy tratando de encontrar la mejor manera de mantener la base de datos en el nuevo servidor sincronizada con la base de datos de producción actual hasta que los nuevos entornos estén listos para funcionar. Al no ser un DBA a tiempo completo, investigué un poco y, según lo que he leído, parece que una configuración de replicación transnacional satisfaría mejor nuestras necesidades.
Algunos detalles: el DB de producción tiene un tamaño de alrededor de 90 GB y el uso de Robocopy tardó aproximadamente 9 horas en mover una copia de él a uno de los nuevos servidores. La base de datos de producción actual deberá permanecer en línea y accesible durante todo el proceso de migración. Está en recuperación simple, por lo que la duplicación de la base de datos no está disponible.
¿Es una replicación transaccional el mejor método para mantener las bases de datos sincronizadas?
Mi plan:
- (Listo) Transfiera la base de datos actual e inicie sesión en el nuevo servidor y adjúntelo a la nueva instancia de SQL Server
- Configure un distribuidor en nuestra máquina de base de datos de desarrollo y publíquelo desde la base de datos de producción
- Cree un suscriptor en la nueva máquina de base de datos que aceptará actualizaciones que se envían desde el distribuidor, una vez cada noche
Hay dos cosas en mi mente. La replicación transaccional requiere que cada tabla publicada tenga una clave primaria y muchas de las tablas en la base de datos de producción no tienen claves primarias definidas. No creo que esto sea un problema demasiado grande ya que mi principal preocupación es simplemente sincronizar las bases de datos. Probaremos las diferentes aplicaciones que utilizan la base de datos en un momento posterior, pero me gustaría asegurarme de que no sea un problema grave. En segundo lugar, ¿debo mover también cualquier base de datos del sistema asociada de la instancia original, como master? Nos estamos moviendo a una configuración de Active Directory en el nuevo entorno, por lo que no me importan los usuarios y demás, pero no estoy seguro de la necesidad de las bases de datos del sistema.
Y solo en general, ¿estoy captando estos conceptos correctamente?
fuente
No tuve la oportunidad de usar esto yo mismo y creo que todavía está en la vista previa, pero SQL Data Sync en la plataforma Azure podría ser una opción potencial:
https://azure.microsoft.com/en-gb/documentation/articles/sql-database-get-started-sql-data-sync/
Funciona con bases de datos in situ, así como con Azure SQL, y parece una herramienta útil para mantener las bases de datos sincronizadas.
fuente