Ivan Stankovic

Una tarea de copia de seguridad de base de datos vía SQL Server Maintenance Plans

December 4, 2015 by
Es esencial crear y mantener copias de seguridad en cualquier sistema de administración de base de datos. Hay un rango de escenarios que confirman esta afirmación. Fallas de hardware, software o errores de usuario, ataques maliciosos o problemas del sistema pueden llevar a una base de datos corrupta. Incluso si sus sistemas de administración de bases de datos nunca han experimentado tales escenarios, usted tiene que estar preparado.

Las estrategias de tomas de copias de seguridad deberían ser planeadas y documentadas en avanzada. Es importante identificar y clasificar áreas de la base del sistema de administración de la base de datos por importancia y nivel de riesgo de corrupción. También, cualquier estrategia de toma de copias de seguridad de la base de datos debería ser probada y verificada en escenarios de ambiente y tiempo apropiados – un proceso de toma de copia de seguridad fallado es como si no hubiera ocurrido tal proceso.

SQL Server provee la característica Maintenance Plans vía SQL Server Management Studio, la cual hace a las estrategias de toma de copias de seguridad fáciles y automatizadas. En el artículo Planes de Mantenimiento SQL Server – beneficios, características y funcionalidades describimos las características generales, método y propiedades que pueden ser usadas para automatizar tareas comunes de mantenimiento de bases de datos. En este artículo nos enfocaremos en la tarea Back Up Database.

Hay dos métodos para crear un plan de mantenimiento SQL Server con la tarea Back Up Database – un manual y vía la característica Maintenance Plan Wizard. Note que un plan de mantenimiento puede contener un número de tareas adicionales (por ejemplo, Check Database Integrity, Shrink Database, etc.) al mismo tiempo, en un orden apropiado de ejecución, si se requiere.

Crear una tarea de toma de copia de seguridad de base de datos manualmente

Para crear un plan de mantenimiento en SQL Server Management Studio con una tarea de respaldo de base de datos apropiada:

  1. En el árbol Object Explorer, usando la lista contextual de la carpeta Maintenance Plans, seleccione la opción New Maintenance Plan.
  2. Ingrese el nombre de un nuevo plan de mantenimiento (por ejemplo, BackupMaintenancePlan).
  3. Usando la caja de herramientas Maintenance Plan Tasks, añada el elemento (tarea) Back Up Database Task a la superficie de diseño BackupMaintenancePlan.

    Adding the Back Up Database Task using the Maintenance Plan tasks

  4. Una vez añadida, la tarea de toma de copia de seguridad está establecida con los valores por defecto, como BackupAction (Base de datos), BackupDeviceType (Archivo), UseExpiration (Falso) y así por el estilo.

    Hay más de 60 propiedades en el panel Properties de la tarea de toma de copia de seguridad que pueden ser usadas para definir y afinar la tarea. Usando el panel Properties, establezca las propiedades de su estrategia de toma de copias de seguridad.

    Setting the properties per your backup strategy using the Properties pane

  5. Adicionalmente, use la opción Edit del elemento Back Up Database Task en la superficie de diseño para abrir el diálogo Back Up Database Task.

    Back Up Database Task dialog

    El diálogo provee un método más conveniente para configurar las propiedades de la tarea de toma de copia de seguridad que el panel Properties, pero no todas las propiedades pueden ser establecidas vía el diálogo (por ejemplo, las propiedades TimeOut u ObjectTypeSelection)

  6. Si es necesario, use los pasos 3 al 5 para añadir copias de seguridad adicionales u otro tipo de tareas al plan de mantenimiento
  7. Use la opción Subplan Schedule para establecer el itinerario para la(s) tarea(s). La opción abrirá e diálogo estándar New Job Schedule, como fue usado por la característica SQL Server Jobs. Adicionalmente, use la opción Add Subplan para añadir sub planes al plan de mantenimiento para agrupar tareas de mantenimiento según el tiempo del itinerario
  8. Una vez que la(s) tarea(s) y propiedades están configuradas, grabe el plan de mantenimiento (BackupMaintenancePlan). Esto creará al mismo tiempo la tarea correspondiente automáticamente (BackupMaintenancePlan.Subplan_1) en el sub nodo Jobs del nodo SQL Server Agent. Usted puede usar la tarea para establecer acciones adicionales, como alertas y notificaciones (por ejemplo, vía correo electrónico)

Crear una copia de seguridad de base de datos usando el asistente

SQL Server Management Studio provee un método adicional similar a un asistente para crear un plan de toma de copias de seguridad de bases de datos. Este método es más conveniente que el manual, pero provee menos opciones de afinado. Sin embargo, si su estrategia de copias de seguridad no requiere afinado adicional, puede ser la solución correcta.

Para crear un plan de mantenimiento con una tarea de copia de seguridad de base de datos apropiada vía el asistente:

  1. En el árbol Object Explorer, seleccione la opción New Maintenance Plan desde el menú contextual de la carpeta Maintenance Plans
  2. El diálogo Select Plan Properties se abrirá y proveerá los ajustes iniciales, como una opción de nombre y programación

    The Select Plan Properties dialog

  3. En el diálogo Select Maintenance Tasks, seleccione las tareas de copias de seguridad de bases de datos necesarias (Completa, Diferencial o Registro de Transacciones). Por supuesto, cualquier tarea de mantenimiento adicional puede ser seleccionada también

    Selecting the required back up database tasks in the Select Maintenance Tasks dialog

  4. Usando el diálogo Select Maintenance Task Order, establezca las prioridades de ejecución de las tareas.
  5. Dependiendo de las tareas seleccionadas, el asistente continuará con los diálogos apropiados (por ejemplo, para la tarea Back Up Database, el asistente proveerá el mismo diálogo como se describió en la sección Crear una tarea de copia de base de datos manualmente)
  6. Después de que el asistente termina, un nuevo plan de mantenimiento es creado con los sub planes y tareas apropiados. Note que si la opción Separate schedules for each task está seleccionada en el diálogo Select Plan Properties, múltiples sub planes y sus tareas correspondientes serán creados cuando el asistente se complete.

    Una vez creado, el plan de mantenimiento de la base de datos puede ser modificado usando los métodos manuales descritos previamente – el asistente puede ser usado sólo para crear, no para modificar planes existentes

Aunque los planes de copias de seguridad de mantenimiento de SQL Server proveen ventajas viables, como GUI y soporte de itinerario nativo, hay muchas desventajas que los DBAs deben conocer. La característica Maintenance Plans (previa a la versión SQL Server 2012) usa la utilidad sqlmain en lugar de las operaciones de copia de seguridad nativas de SQL Server. También, es requerido mantener tanto los planes de mantenimiento de copia de seguridad de la base de datos y las tareas correspondientes para preservar la consistencia y prevenir colisiones de procesos de toma de copias de seguridad. Por lo tanto, no hay detección de colisión y una ejecución de tarea fallará si las tareas concurrentes están programadas en la misma base de datos al mismo tiempo. Para evitar tales escenarios, es recomendable probar la ejecución de los planes de mantenimiento antes de que sean dejados a cargo de su estrategia de copias de seguridad.

Recursos
Back Up Database Task (Maintenance Plan)

Traductor: Daniel Calbimonte


Ivan Stankovic
168 Views