Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
la operación de Backup permite recuperar una base de datos y es una de las operaciones más
importantes si se observa desde la perspectiva de mantenimiento de la base de datos. Para poder
desarrollar el o los backups de manera acertada, es necesario tener claras las politicas de
estrategias de recuperación.
Es necesario tener presente que las copias de seguridad que se crean en una version más reciente
de sql server, no se pueden recuperar en una version anterior del servidor.
Estrategias de recuperación:
Este item permite a las personas encargadas poder definir como se van a recuperar los datos de la
base de datos, más especificamenmte que estrategias se debe usar. Va ligada a las políticas
individuales de cada empresa o negocio. En algunos servira una estrategia normal, en otros se
necesitará de una estrategia de alta disponibilidad como los mirroring o los allways ON.
Por ejemplo si en las politicas de mantrenimiento de la empresa figura que el servidor puede tener
dos horas para realizar el back up y el back up demora esas dos horas o menos, es posible realizar
un back up normal. De lo contrario ya se debe tener en cuenta y tener en consideración elaborar
un tipo de back up de disponibilidad como por ejemplo el allways ON.
Modos de recuperación:
Los modos de recuperacion esta estrechamente relacionados con los logs de transacciones. En
terminos generales se tienen tres modelos de recuperacion (Full, Bulk-logged y simple), (Completo,
recuperacion de operaciones masivas y simple).
Completo:
El modelo de recuperación Completo le indica a SQL Server que mantenga todos los datos de
transacción en el registro de transacciones hasta que se produzca una copia de seguridad del
registro de transacciones o se trunca el registro de transacciones.
Para crear una copia de seguridad completa de una base de datos, la instrucción es:
BACKUP DATABASE nombreBaseDatos TO dispositivoDondeQuedaCopia WITH opcionesDeCopia
WITH: Opciones
INIT | NOINT (se agrega la copia es decir append; o se sobre escribe la copia es decir se
hace overwrite)
RETAINDAYS = 3 (copia expira en 3 días)
EXPIREDATE = '09/30/2017 00:00:00' (copia expira en la fecha y hora )
COMPRESSION | NO_COMPRESSION (
ENCRYPTION (ALGORITHM, SERVER CERTIFICATE |ASYMMETRIC KEY)
DESCRIPTION = 'text' | @text_variable
NAME = backup_set_name | @backup_set_name_var
FORMAT [ , MEDIANAME= { media_name | @media_name_variable } ] [ ,
MEDIADESCRIPTION = { text | @text_variable } ]
Simple:
El modelo de recuperación "Simple" hace lo que implica, proporciona una copia de seguridad
simple que se puede utilizar para reemplazar toda la base de datos en caso de un fallo o si tiene la
necesidad de restaurar su base de datos a otro servidor. Con este modelo de recuperación tiene la
capacidad de realizar copias de seguridad completas (copias completas) o diferenciales (cualquier
cambio desde la última copia de seguridad completa). Con este modelo de recuperación, está
expuesto a cualquier fallo desde la última copia de seguridad completada.
Configurar la base de datos para que use simple como modelo de copias de seguridad
ALTER DATABASE BaseDeDatos SET RECOVERY SIMPLE
Tipos de backups:
Parcial:
Una nueva opción es copias de seguridad "parciales" que se introdujo con SQL Server 2005. Esto le
permite hacer una copia de seguridad del grupo de archivos PRIMARY, todos los grupos de archivos
Read-Write y cualquier archivo opcionalmente especificado. Esta es una buena opción si tiene
grupos de archivos de sólo lectura en la base de datos y no desea hacer copias de seguridad de
toda la base de datos todo el tiempo.
Se puede emitir una copia de seguridad parcial para una copia de seguridad completa o diferencial.
Esto no se puede utilizar para las copias de seguridad del registro de transacciones. Si se cambia un
grupo de archivos de Sólo lectura a Lectura-Escritura, se incluirá en la siguiente copia de seguridad
parcial, pero si cambia un grupo de archivos de Lectura-Escritura a Sólo lectura, debe crear una
copia de seguridad de grupo de archivos, ya que este grupo de archivos no será incluido en la
próxima copia de seguridad parcial.
Parcial full
TO DISK = 'C:\BaseDatos_Partial.BAK'
GO
Parcial diferencial
WITH DIFFERENTIAL
GO
Diferencial:
Otra opción para ayudar con su recuperación es crear copias de seguridad "Diferenciales". Una
copia de seguridad "Diferencial" es una copia de seguridad de cualquier extensión que haya
cambiado desde que se creó la última copia de seguridad "Completa".
La forma en que funcionan los respaldos diferenciales es que harán una copia de seguridad de
todas las extensiones que han cambiado desde la última copia de seguridad completa. Una
extensión se compone de ocho páginas de 8 KB, por lo que una extensión es de 64 KB de datos.
Cada vez que se cambia cualquier dato, se activa un indicador para permitir que SQL Server sepa
que si se crea una copia de seguridad "diferencial" debe incluir los datos de esta extensión. Cuando
se realiza una copia de seguridad "Completa", estos indicadores se apagan.
Por lo tanto, si realiza una copia de seguridad completa y realiza una copia de seguridad
diferencial, la copia de seguridad diferencial sólo contendrá las extensiones que hayan cambiado.
Si espera un poco de tiempo y realiza otra copia de seguridad diferencial, esta nueva copia de
seguridad diferencial contendrá todas las extensiones que han cambiado desde la última copia de
seguridad completa. Cada vez que cree una nueva copia de seguridad diferencial contendrá cada
extensión cambiada desde la última copia de seguridad completa. Cuando vaya a restaurar su base
de datos, para llegar a la hora más actual sólo necesita restaurar la copia de seguridad completa y
la copia de seguridad diferencial más reciente. Todas las demás copias de seguridad diferenciales
pueden ser ignoradas.
Repositorios de backups:
Cinta:
Disco:
Ejemplo de back up:
Para este ejemplo se creara un plan de mantenimiento, usando los agentes de Sql Server. Para
poder usar el agente, es necesario que el servicio agent este activo.
Backup full:
En el explorador de objetos expandir la opción de mantenimiento, click derecho en planes de
mantenimiento y seleccionar nuevo plan de mantenimiento.
Seleccionar ahora la pestaña destino de la ventana tarea de back up databases. En esta ventana se
le informará al SGBD en donde se van a guardar los archivos del back up.
Se le puede indicar “Backup databases accross one or more files”. Esta opción se hace cargo
de crear un backup en “X” ficheros. En esos ficheros hay partes de backup de todas las
bases de datos. La otra opción es “Create a backup file for every Database”, esta opción se
encarga de crear un fichero por cda una de las bases de datos seleccionadas. Para el
ejemplo dejarlo como se muestra en la imagen y dar clic en el botón agregar.
Aparece la ventana para seleccionar el destino del back up, como elegimos varios archivos,
es necesario indicarle al SGBD que archivos se van a usar. La dirección o sitio en el disco
que aparece, es la misma de la instalación del SGBD y en la carpeta back ups; pero se
puede cambiar por la que se desea. Para el ejemplo crear una carpeta en C llamada
BackUpsSqlServer e indicarle que se quiere hacer el Backup en esa carpeta. Dar click en el
botón para buscar el destino. Llenar los campos y dar click en OK.
Verificar que todos los datos estén correctos y dar clic en OK.
El archivo donde se va a crear el back up se puede ver en la ventana. Seguir el mismo
procedimiento para agregar otro archivo más.
Una vez agregado el otro archivo la ventana se observa con la siguiente información.
La opción si back up existe se puede configurar con las opciones Append y Overwrite. Para
el ejemplo usar Append.
La opcion set back up compress, tiene tres opciones. La opcion “Compress backup” ocupa
menos espacio pero se consume más CPU y puede tardar más ya que se tienen que
comprimir los datos. En la restauración también es posible que tarde más ya que tiene que
realizar la operación inversa. También se tiene la opción sin compresión (“Do not compress
backup”), que no comprime los archivos y por ende tarda menos. La tercera y última
opción es “Use the default server setting”, esta opción comprimirá los backup si esta
opción está establecida a nivel de instancia.
La fecha de expiración indica en que fecha el bacup puede ser sobreescrito por otro.
La opcion copy only back up, realiza un back up full para usarlo en otro entorno, esta opción no
sirve si se desea recuperar una BD después de un desastre.
La opción Verify backup integrity, si se marca esta opción el backup será analizado para
verificar que puede leerse y restaurarse.
La opción “Backup encryption”, con esta opción permite encriptar nuestro backup para
ello hay que indicar (Algoritmo y la clave) de encriptación.
Para el ejemplo dejamos como aparece por defecto y dar clic en Ok.
Pero todavía no está guardado el plan de mantenimiento, para ello dar clic en guardar de
la ventana principal.
Para probarlo simplemente es seleccionar el back up, dar clic derecho sobre él y seleccionar la
opción ejecutar.
Cuando comienza a ejecutarse el plan se muestra la ventana modal indicando el proceso del back
up.
Una vez que termine muestra la comprobación que todo fue exitoso.
Instrucción para crear la tarea de backup del ejemplo:
GO
GO
Mostrar las opciones del contenedor mantenimiento, click derecho en database mail y seleccionar
la opción configurar database mail.
Aparece la ventana modal para configurar el correo electrónico de la base de datos. Clic en Next.
Cuándo se configura por primera vez, seleccionar setup data base mail, luego clic en Next.
Puede aparecer el mensaje para activar la característica, dar clic en Sí.
En profile name colocar el nombre del perfil del correo. En descripción si se quiere colocar una
descripción del correo. Hay que tener presente que un nombre de perfil puede ser asociado a
varias cuentas de correo. Para el ejemplo solo configurar una. Para configurarala dar click en
agregar.
En esta ventana se indica que va a ser el perfil publico y que va a ser el perfil por defecto.
Aparece una ventana modal para verificación, esperar a que llegue el correo al destinatario y si
llego correctamente dar click en Ok, sino dar click en problemas.
Este es el correo recibido por el destinatario. Como se puede observar todo funciona
correctamente.