Sei sulla pagina 1di 25

Backup:

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:

Configurar el servidor para que acepte el modelo full

 ALTER DATABASE baseDeDatos SET RECOVERY FULL

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 calcular el tamaño de la copia de seguridad completa de la base de datos, use el


procedimiento almacenado del sistema sp_spaceused.
 De forma predeterminada, los permisos de BACKUP DATABASE y BACKUP LOG corresponden a
los miembros del rol fijo de servidor sysadmin y de los roles fijos de base de datos db_owner y
db_backupoperator.

Para crear una copia de seguridad completa de una base de datos, la instrucción es:
BACKUP DATABASE nombreBaseDatos TO dispositivoDondeQuedaCopia WITH opcionesDeCopia

TO: disk o tape

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 } ]

Ejemplo 1: Realizar copia de seguridad completa de la base de datos PruebaETITC en un dispositivo


de disco, para el ejemplo en la carpeta C:\BackUpsSqlServer\PruebaETITC

BACKUP DATABASE PruebaETITC TO DISK = ' C:\BackUpsSqlServer\PruebaETITC\PruebaETITC.Bak'

Ejemplo 2: La misma copia, pero ahora

recuperacion de operaciones masivas:

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:

Copia de seguridad completa FULL:


Los tipos más comunes de copias de seguridad de SQL Server son copias de seguridad completas o
completas, también conocidas como copias de seguridad de bases de datos. Estas copias de
seguridad crean una copia de seguridad completa de su base de datos, así como parte del registro
de transacciones, por lo que se puede recuperar la base de datos. Esto permite la forma más
simple de restauración de la base de datos, ya que todos los contenidos están contenidos en una
copia de seguridad.

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

BACKUP DATABASE BaseDatos READ_WRITE_FILEGROUPS

TO DISK = 'C:\BaseDatos_Partial.BAK'

GO

Parcial diferencial

BACKUP DATABASE BaseDatos READ_WRITE_FILEGROUPS


TO DISK = 'C:\ BaseDatos _Partial.DIF'

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.

Si su base de datos se encuentra en el modelo de recuperación Simple, todavía puede utilizar


copias de seguridad completas y diferenciales. Esto no le permite hacer recuperación de punto en
el tiempo, pero le permitirá restaurar sus datos a un punto más actual en el tiempo, entonces si
sólo tenía una copia de seguridad completa.

Si su base de datos se encuentra en el modelo de recuperación completa o de registro masivo,


también puede utilizar copias de seguridad diferenciales para eliminar el número de registros de
transacciones que deben restaurarse. Dado que el diferencial hará copia de seguridad de todas las
extensiones desde la última copia de seguridad completa, en el momento de la restauración puede
restaurar la copia de seguridad completa, la copia de seguridad diferencial más reciente y las
copias de seguridad del registro de transacciones creadas después de la copia de seguridad
diferencial más reciente. Esto reduce el número de archivos que necesitan ser restaurados.

BACKUP DATABASE BaseDeDatos TO DISK = 'C:\BaseDeDatos.DIF' WITH DIFFERENTIAL


Log de transacciones:
Si su base de datos se establece en el modelo de recuperación "Completo" o "Grabado en bloque",
podrá emitir copias de seguridad de "Registro de transacciones". Al tener copias de seguridad de
registro de transacciones junto con copias de seguridad completas tiene la capacidad de hacer un
punto en tiempo de restauración, por lo que si alguien elimina accidentalmente todos los datos en
una base de datos puede recuperar la base de datos hasta el momento justo antes de la
eliminación. La única advertencia a esto es si su base de datos se establece en el modelo de
recuperación de "Bulk-logged" y se ha emitido una operación en masa, tendrá que restaurar todo
el registro de transacciones.

 BACKUP LOG AdventureWorks TO DISK = 'C:\AdventureWorks.TRN'

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.

Se le da el nombre al nuevo plan y click en OK.

Abrir el tool box y arrastrar la tarea back up database al plan de mantenimiento.


Dar doble click a la tarea anteriormente colocada en el plan de mantenimiento. Mostrará la
ventana para configurar la tarea de back up base de datos. Con la pestaña general activa.
Seleccionar como tipo de back up full, en databases seleccionar las bases de datos a las que se les
quiera hacer el back up (para el ejemplo seleccionar bases datos sistema). Ahora seleccionar el
sitio en donde se va a guardar el back up, para el ejemplo seleccionar disco.

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.

En la pesaña opciones sectiene la siguiente configuración.

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.

Una vez guardado el plan aparece en la ventana así:


Probando el back up:

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:

BACKUP DATABASE [master] TO DISK = N'C:\BackUpsSqlServer\FullBackup01', DISK =


N'C:\BackUpsSqlServer\FullBackup02' WITH NOFORMAT, NOINIT, NAME =
N'master_backup_2017_09_18_121157_3588516', SKIP, REWIND, NOUNLOAD, STATS = 10

GO

BACKUP DATABASE [model] TO DISK = N'C:\BackUpsSqlServer\FullBackup01', DISK =


N'C:\BackUpsSqlServer\FullBackup02' WITH NOFORMAT, NOINIT, NAME =
N'model_backup_2017_09_18_121157_4291656', SKIP, REWIND, NOUNLOAD, STATS = 10

GO

BACKUP DATABASE [msdb] TO DISK = N'C:\BackUpsSqlServer\FullBackup01', DISK =


N'C:\BackUpsSqlServer\FullBackup02' WITH NOFORMAT, NOINIT, NAME =
N'msdb_backup_2017_09_18_121157_5737001', SKIP, REWIND, NOUNLOAD, STATS = 10

Configuración del correo de la base de datos:


Aunque no es una tarea obligatoria para poder hacer el análisis y mantenimiento de la base de
datos, si es muy importante configurar el correo. Si no se configura para poder analizar los
resultados de los planes de mantenimiento es necesario verificar los logs, lo cual es una tarea
bastante complicada si hay muchos que revisar.

Para configurar el correo se deben seguir los siguientes pasos.

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.

Aparece la ventana modal nueva cuenta de correo para base de datos.


Configurar esta ventana con los datos solicitados. Comenzando con el nombre de la cuenta
(“Account name”), en donde se coloca el nombre de la cuenta a configurar, para el ejemplo
Jairo Arenas. En descripción (“Description”), colocar una breve descripción d ela cuenta a
configurar. Luego se tiene que asegurar que escribimos correctamente el nombre del
servidor de correo y el puerto (“Server Name / Port number”). En la mayoría de los casos
el servidor de correo requerirá una conexión segura SSL (“This server requires a secure
connection (SSL (Secure Socket Layer)”). En basic authentication colocar el correo y el
password para ingresar. Click en OK.
Para agregar otra cuenta al mismo profile name, seguir los mismos pasos. Una vez se agreguen
todas las cuentas, dar clic en Next.

En esta ventana se indica que va a ser el perfil publico y que va a ser el perfil por defecto.

Dar clic en Next.


Aparece la ventana de configuración de parámetros. Como son intentos, tamaño máximo de
ficheros, tiempo de demora, extensiones prohibidas, cantidad de tiempo de vida en segundos y el
tipo de logueo. Dejar como está por defecto. Clic en Next.

Verificar la configuración y clic en finalizar.


Se configura y muestra ventana con las opciones configuradas satisfactoriamente.
Probar el correo configurado en el servidor:
Para probar el correo del servidor, seguir los siguientes pasos.

En el explorador de objetos, expandir el contenedor managemenet, dar clic derecho en database


mail y seleccionar la opción enviar correo de prueba.
En database mail, seleccionar el profile que va a usar. En to colocar la dirección completa del
correo del destinatario. En subject dejar por defecto y en body también por defecto. Dar clic en
send test mail.

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.

Potrebbero piacerti anche