Definición del problema
Nuestro servidor de bases de datos debe transferirse a otro centro de datos. Se ejecuta en Microsoft SQL Server 2012 Enterprise (64 bits) y contiene dos bases de datos de aproximadamente 2 TB y 1 TB.
Tener poco o ningún tiempo de inactividad para esto sería ideal.
carga de trabajo
Esas bases de datos se utilizan para un sitio web .NET y se actualizan constantemente.
Sin embargo, tenerlo disponible durante el fin de semana sería aceptable. La base de datos actualmente en uso seguiría siendo la única en uso hasta que se cambie a la nueva.
Idealmente, ese cambio se realizará simplemente cambiando las entradas de DNS para que apunten al nuevo servidor de DB mientras se asegura de que la DB no se esté actualizando.
Además, el tiempo que lleva esta operación realmente no importa mientras el cambio de un servidor a otro (tiempo de inactividad) se mantenga bajo.
Enfoques considerados
Copia de seguridad y restaurar
Esto se hizo en el pasado pero implicó un alto tiempo de inactividad a pesar de que se realizó a través de una red interna, de manera más eficiente que a través de Internet
Envío de registro
Según tengo entendido, este enfoque minimizaría el tiempo de inactividad configurando un maestro / esclavo y transfiriendo una copia exacta de la base de datos maestra a su esclavo de solo lectura. Como se mencionó anteriormente, no sería necesario acceder al esclavo y solo necesitamos una forma de tener una réplica del DB maestro sin corrupción de datos.
También parece ser bastante eficiente en términos de utilización de recursos y no afectaría en gran medida el rendimiento maestro.
Podría estar equivocado acerca de este enfoque, así que siéntase libre de corregirme.
Duplicación de bases de datos
No conozco demasiado ese enfoque, pero parece una opción válida. No es necesario tener sincronización en tiempo real y el rendimiento del maestro es bastante importante, por lo que sería asíncrono el camino a seguir si se eligiera este enfoque.
¿Otras opciones?
Ese servidor se ejecuta directamente en hardware desnudo, por lo que desafortunadamente las soluciones de nivel inferior no son una opción. Tal vez hay una mejor manera de hacer esto?
Restricciones
Como se describió, esas bases de datos son bastante grandes hasta el punto de que son difíciles de mantener, pero ese es otro problema.
Las versiones de SQL Server serán las mismas (Microsoft SQL Server 2012 Enterprise de 64 bits).
Tendrá que transferirse a través de la red entre dos centros de datos, por lo que probablemente sea a través de Internet. Lamentablemente, no es una opción enviar discos de un sitio a otro para una sincronización inicial. Tener algún tipo de seguridad para la transferencia sería ideal, pero haremos lo mejor de esta situación.
Eso debería proporcionar una visión general bastante buena de nuestras necesidades para esta tarea y, con suerte, algunos de ustedes tuvieron que enfrentar esa situación antes.