Minimizar el tiempo de inactividad de las bases de datos reflejadas al actualizar instancias de servidor
Al actualizar instancias de servidor de SQL Server 2005 o SQL Server 2008 a SQL Server 2012, puede reducir el tiempo de inactividad de cada base de datos reflejada a una sola conmutación por error manual realizando una actualización secuencial, denominada actualización gradual. Una actualización gradual es un proceso de varias etapas que, en su forma más simple, implica la actualización de la instancia de servidor que está actuando actualmente como servidor reflejado en una sesión de creación de reflejo, la conmutación por error manual de la base de datos reflejada, la actualización del servidor principal anterior y la reanudación de la creación de reflejo. En la práctica, el proceso exacto dependerá del modo de funcionamiento y del número y diseño de la sesión de creación de reflejo que se ejecute en las instancias de servidor que va a actualizar.
[!NOTA]
Para obtener información acerca de cómo realizar una actualización gradual para instalar un Service Pack o revisión, vea Instalar un Service Pack en un sistema con un tiempo de inactividad mínimo para bases de datos reflejadas.
Preparación recomendada (prácticas recomendadas)
Antes de iniciar una actualización gradual, es recomendable que:
Realice una conmutación por error manual de prueba en al menos una de las sesiones de creación de reflejo:
[!NOTA]
Para obtener más información acerca del funcionamiento de la conmutación por error, vea Conmutación de roles durante una sesión de creación de reflejo de la base de datos (SQL Server).
Proteja los datos:
Realice una copia de seguridad completa de cada base de datos principal:
Crear una copia de seguridad completa de base de datos (SQL Server).
Ejecute el comando DBCC CHECKDB en cada base de datos principal.
Etapas de una actualización gradual
Los pasos específicos de una actualización gradual dependen del modo de funcionamiento de la configuración de creación de reflejo. No obstante, las etapas básicas son las mismas.
[!NOTA]
Para obtener información acerca de los modos de funcionamiento, vea Modos de funcionamiento de la creación de reflejo de la base de datos.
La ilustración siguiente es un diagrama de flujo en el que se muestran las etapas básicas de una actualización gradual para cada modo de funcionamiento. Los procedimientos correspondientes se describen después de la ilustración.
Importante |
---|
Una instancia del servidor podría estar realizando roles de creación de reflejo distintas (servidor principal, servidor reflejado o testigo) en sesiones de creación de reflejo simultáneas. En ese caso, tendrá que adaptar el proceso básico de actualización gradual a la función. Para obtener más información, vea Conmutación de roles durante una sesión de creación de reflejo de la base de datos (SQL Server). |
Para cambiar una sesión del modo de alto rendimiento al modo de alta seguridad
Si una sesión de creación de reflejo se está ejecutando en modo de alto rendimiento, antes de realizar una actualización gradual, cambie al modo de seguridad alta sin conmutación automática por error.
Importante Si el servidor reflejado está geográficamente distante del servidor principal, puede no ser conveniente realizar una actualización gradual.
En SQL Server Management Studio: cambie la opción Modo de funcionamiento a Seguridad alta sin conmutación automática por error (sincrónico) utilizando la página Creación de reflejo del cuadro de diálogo Propiedades de la base de datos. Para obtener más información acerca del acceso a esta página, vea Iniciar el Asistente para la configuración de seguridad de la creación de reflejo de bases de datos (SQL Server Management Studio)
En Transact-SQL: establezca la seguridad de transacciones en FULL. Para obtener más información, vea Cambiar la seguridad de las transacciones en una sesión de creación de reflejo de la base de datos (Transact-SQL).
Para quitar un testigo de una sesión
Si una sesión de creación de reflejo conlleva un testigo, recomendamos que lo quite antes de realizar una actualización gradual. Si no lo hace, al actualizar la instancia del servidor reflejado, la disponibilidad de la base de datos depende del testigo que sigue estando conectado a la instancia del servidor principal. Después de quitar un testigo, puede actualizarlo en cualquier momento durante el proceso de actualización gradual sin aumentar el tiempo de inactividad de la base de datos.
[!NOTA]
Para obtener más información, vea Quórum: cómo un testigo afecta a la disponibilidad de la base de datos (reflejo de base de datos).
Para realizar la actualización gradual
Para minimizar el tiempo de inactividad, recomendamos que inicie la actualización gradual actualizando todos los asociados de creación de reflejo que sean actualmente el servidor reflejado en todas sus sesiones de creación de reflejo. Podría tener que actualizar varias instancias del servidor en este momento.
[!NOTA]
Un testigo se puede actualizar en cualquier momento del proceso de actualización gradual. Por ejemplo, si una instancia del servidor es un servidor reflejado en la Sesión 1 y es un testigo en la Sesión 2, puede actualizar ahora la instancia del servidor.
La instancia del servidor que se debe actualizar en primer lugar depende de la configuración actual de las sesiones de creación de reflejo, como se indica a continuación:
Si cualquier instancia del servidor ya es el servidor reflejado en todas sus sesiones de creación de reflejo, actualice la instancia del servidor a la nueva versión.
Si todas las instancias del servidor son actualmente el servidor principal en cualquier sesión de creación de reflejo, seleccione una instancia del servidor para actualizarla primero. A continuación, conmute por error manualmente cada una de sus bases de datos principales y actualice esa instancia del servidor.
Una vez que se ha actualizado, una instancia del servidor vuelve a unirse automáticamente a cada una de sus sesiones de creación de reflejo.
En cada sesión de creación de reflejo cuya instancia del servidor reflejado se acaba de actualizar, espere a que la sesión se sincronice. A continuación, conéctese a la instancia del servidor principal y realice una conmutación manual por error de la sesión. Tras la conmutación por error, la instancia del servidor actualizada se convierte en el servidor principal para esa sesión y el servidor principal anterior se convierte en el servidor reflejado.
El objetivo de este paso es que otra instancia del servidor se convierta en el servidor reflejado en cada sesión de creación de reflejo en la que es un asociado.
Restricciones después de la conmutación por error a una instancia del servidor actualizada.
Después de la conmutación por error de una instancia de servidor de SQL Server 2005 o SQL Server 2008 a una instancia de servidor de SQL Server 2012, la sesión de la base de datos se suspende. No se puede reanudar hasta que se haya actualizado el otro asociado. Sin embargo, el servidor principal sigue aceptando conexiones, y permitiendo acceso y modificaciones a datos en la base de datos principal.
[!NOTA]
El establecimiento de una nueva sesión de creación de reflejo requiere que todas las instancias del servidor se ejecuten en la misma versión de SQL Server.
Después de la conmutación por error, recomendamos que ejecute el comando DBCC CHECKDB en la base de datos principal.
Actualice todas las instancias del servidor que es ahora el servidor reflejado en todas las sesiones de creación de reflejo en las que sea asociado. Podría tener que actualizar varios servidores en este momento.
Importante En una configuración de creación de reflejo compleja, alguna instancia de servidor podría seguir siendo el servidor principal original en una o varias sesiones de creación de reflejo. Repita los pasos 2 a 4 para esas instancias de servidor hasta que se actualicen todas las instancias implicadas.
Reanude la sesión de creación de reflejo.
[!NOTA]
La conmutación automática por error no funcionará hasta que el testigo se haya actualizado y agregado de nuevo a la sesión de creación de reflejo.
Actualice cualquier instancia de servidor que quede y sea testigo en todas sus sesiones de creación de reflejo. Cuando un testigo actualizado se vuelva a unir a una sesión de creación de reflejo, la conmutación automática por error vuelve a ser posible. Podría tener que actualizar varios servidores en este momento.
Para devolver una sesión al modo de alto rendimiento
Si lo desea, vuelva al modo de alto rendimiento utilizando uno de los métodos siguientes:
En SQL Server Management Studio: cambie la opción Modo de funcionamiento a Rendimiento alto (asincrónico) utilizando la página Creación de reflejo del cuadro de diálogo Propiedades de la base de datos.
En Transact-SQL: utilice ALTER DATABASE para desactivar la seguridad de las transacciones.
Para volver a agregar un testigo a una sesión de creación de reflejo
Si lo desea, en modo de alta seguridad, restablezca el testigo en cada sesión de creación de reflejo.
Para devolver un testigo
Vea también
Tasks
Ver el estado de una base de datos reflejada (SQL Server Management Studio)
Forzar el servicio en una sesión de creación de reflejo de la base de datos (Transact-SQL)
Iniciar el Monitor de creación de reflejo de la base de datos (SQL Server Management Studio)
Referencia
Reflejo de la base de datos ALTER DATABASE (Transact-SQL)
Conceptos
Creación de reflejo de base de datos (SQL Server)
Conmutación de roles durante una sesión de creación de reflejo de la base de datos (SQL Server)
Modos de funcionamiento de la creación de reflejo de la base de datos