Ivan Stankovic

¿Qué es el transvase de registros SQL Server?

December 18, 2015 by

¿Qué es el transvase de registros SQL Server?

El transvase de registros SQL Server es una técnica que involucra dos o más instancias SQL Server y la copia de un archivo de registros de transacciones desde una instancia SQL Server a otra. El proceso de transferencia y restauración de los archivos de registros de transacciones es automático entre SQL Servers. Como el proceso resulta, hay dos copias de los datos en dos localizaciones separadas.

Una sesión de transvase de registro involucra los siguientes pasos:

  • Respaldar el archivo de registros de transacciones en la instancia primaria de SQL Server
  • Copiar el archivo de la copia de seguridad del registro de transacciones a través de la red a una o más instancias SQL Server secundarias
  • Restaurar el archivo de la copia de seguridad del registro de transacciones en las instancias SQL Server secundarias.

Ejemplos de implementación

Uno de los escenarios comunes de transvase es el ambiente con dos servidores (SQLServer-1 – primario y SQLServer-2 – secundario), dos instancias SQL Server (SQLInstance-1 y SQLInstance-2) y una base de datos SQL Server llamada SQLDB-1 con transvase de registro corriendo en ella.

Common SQL Server log shipping scenarios - the environment with two servers

Otra configuración común es el ambiente con tres (o más) servidores (SQLServer -1 –primario, SQLServer-2 – secundario y SQLServer-3 – secundario), tres instancias de SQL Server (SQLInstance-1, SQLInstance-2 y SQLInstance-3), y una base de datos SQL Server llamada SQLDB-1 con transvase de registro corriendo en ella.

SQL Server Log shipping scenarios - The environment with three (or more) servers

Modos de operación

Hay dos modos disponibles y están relacionados al estado en que la base de datos secundaria y con transvase de registro estará:

  • Modo en espera – la base de datos está disponible para consultas y los usuarios pueden acceder a ella, pero en modo de sólo lectura
    • La base de datos no está disponible sólo mientras el proceso de restauración está corriendo
      • Los usuarios pueden ser forzados a desconectarse cuando la tarea de restauración comience
      • La tarea de restauración puede ser retrasada hasta que todos los usuarios se desconecten por sí mismos
  • Modo de restauración – la base de datos no es accesible

Ventajas y desventajas de usar el transvase de registros SQL Server

EL transvase de registro SQL Server es primariamente usado como una solución de recuperación de desastres. Usar el transvase de registro SQL Server tiene múltiples beneficios: Es confiable y probado en detalles, es relativamente fácil de configurar y mantener, hay la posibilidad para la conmutación por error entre SQL Servers, los datos pueden ser copiados en más de una localización, etc.

El transvase de registros puede ser combinado con otras opciones de recuperación de desastres como AlwaysOn Availability Groups, relejo de la base de datos y replicación de la base de datos. También, el transvase de registro SQL Server tiene un bajo costo en recursos humanos y de servidor.

Las principales desventajas en la técnica de transvase de registro SQL Server son: se necesita administrar todas las bases de datos separadamente, no hay posibilidad para una conmutación por error automática, y la base de datos secundaria no es completamente legible mientras el proceso de restauración está corriendo.

Configurando el ambiente para el transvase del registro de la base de datos

El transvase de registro SQL Server está basado en la ejecución predefinida de tareas SQL Server. La característica de transvase de registro SQL Server está disponible en todas las ediciones de SQL Server excepto la edición Express. Todas las bases de datos a usarse para el transvase de registro deben estar en el modelo de recuperación Completo o Por medio de Registros de Operaciones Masivas.

Otro prerrequisito importante es correr SQL Server Agent en ambos servidores. Las políticas de seguridad deben ser definidas para que SQL Server Agent tenga permiso de leer y escribir en la carpeta de copia de seguridad. Note que el agente SQL Server en el servidor secundario debe poder leer desde la carpeta de copia de seguridad del servidor primario.

Las copias de seguridad de la base de datos pueden ser comprimidas, pero eso requiere tiempo de CPU adicional. Las configuraciones más comunes usan localizaciones de red para almacenar las copias de seguridad.

La configuración del transvase del registro de la base de datos necesita ser iniciada desde el servidor principal usando el asistente de SQL Server Management Studio. El primer paso define las configuraciones de la copia de seguridad del registro de transacciones:

  • Una ruta de red para la copia de seguridad
  • Cuándo tiempo los archivos de copia de seguridad deberían ser mantenidos antes de ser borrados
  • Una alerta si no se toma una copia de seguridad
  • La tarea de tomar una copia de seguridad en sí
    • Programar la tara
      • Tipo de programación
      • Frecuencia
      • Duración

SSMS wizard - New job schedule: backup job settings

El siguiente paso define las bases de datos secundarias, lo que incluye elegir la instancia SQL Server secundaria y la base de datos secundaria. La copia de seguridad de la base de datos completa, desde la base de datos primaria, debe ser restaurada en la base de datos secundaria antes de que comience el transvase del registro.

Secondary database settings dialog - choosing to generate a full backup

Después de iniciar la base de datos secundaria usted debe definir la carpeta de copia donde las copias de seguridad del registro de transacciones del servidor primario serán almacenadas.

El paso final implica elegir entre dos modos disponibles: Los modos No recovery – Restore. Usted puede también retrasar el proceso de restauración y establecer una alerta si la restauración no ocurre dentro del tiempo especificado.

Secondary database settings dialog - choosing No recovery mode

Una vez que el transvase de registro está listo para usar, correrá al fondo, y si el problema ocurre la alerta señalizará el problema.

SQL Server log shipping is ready for use

Recursos

Ivan Stankovic
168 Views