Está en la página 1de 19

RECUPERACION EN SQL SERVER R2 2008

INTEGRANTES:

JEFFERSON TENELEMA
VICTOR MALDONADO

RECUPERACION EN SQL
SERVER R2 2008
Contenido
1. INTRODUCCION A LA RECUPERACION EN SQL SERVER 2008 ...........................................................................3
1.1. Recuperacin y Copia de seguridad de la base de datos ..........................................................................3
1.1.1 Estrategias de De Recuperacin ..........................................................................................................3
1.2. Copias de seguridad y Modelos de Recuperacin .....................................................................................4
1.2.1 Copias de Seguridad ............................................................................................................................4
1.2.2 Ventajas ...............................................................................................................................................5
1.3. Tipos de Copias de Seguridad ....................................................................................................................6
1.3.1 Copia de seguridad completa ..............................................................................................................6
1.3.2. Copia de seguridad diferencial: ..........................................................................................................8
1.3.3 Copia de seguridad de grupo de archivos: ..........................................................................................9
1.3.4. Copias de Seguridad del Registro de Transacciones ........................................................................10
Para crear una copia de seguridad del registro de transacciones ..............................................................10
1.4. Modelos de Recuperacin .......................................................................................................................11
1.4.1. Modelo de recuperacin completa .................................................................................................11
1.4.2. Modelo de recuperacin de registro masivo...................................................................................12
1.4.3. Modelo de recuperacin simple .......................................................................................................13
1.5 EJERCICIO: .................................................................................................................................................14
1.6 BIBLIOGRAFIA ...............................................................................................................................................19

1. INTRODUCCION A LA RECUPERACION EN SQL SERVER 2008


1.1. Recuperacin y Copia de seguridad de la base de datos

Una copia de seguridad de la base de datos es una copia de la base de datos. Esta copia se utiliza
para recuperar la base de datos o los Datasets individuales en caso de error o daos en la base de
datos.
Como en general se invierten mucho tiempo, esfuerzo y dinero en los datos de una organizacin, es
fundamental que tenga un plan de recuperacin probado y preparado para la base de datos . Un
plan de recuperacin incluye copias de seguridad de base de datos y una estrategia de recuperacin
probada.

1.1.1 Estrategias de Recuperacin


Las necesidades de la estrategia de recuperacin y copia de seguridad varan de acuerdo con su
situacin especfica. El tipo de copias de seguridad que utilice, el lugar donde deben estar
almacenadas, el momento en el que deben realizarse, y el momento y la manera en que se puede
realizar la recuperacin pueden estar afectados por los siguientes factores interrelacionados.

Con qu frecuencia cambian los datos?


Mientras la Base d datos y su contenido se modifiquen con ms frecuencia, con ms
frecuencia deben realizarse las copias de seguridad.

Qu tan importantes son los datos para la organizacin?


La misin de los datos es fundamental? Si es as, el tiempo de recuperacin y la divisa de los
datos recuperados son importantes. La retencin de los datos tiene importancia legal? Si es
as, debe considerar la posibilidad de almacenar las copias de seguridad fuera del sitio.

Cunto tiempo es aceptable para la recuperacin?

Ciertos datos pueden ser necesarios de inmediato, mientras que la necesidad de otros datos
no es tan urgente. Si no existen muchos datos en la base de datos, compare cunto tiempo
tarda realizar una recuperacin de la base de datos versus volver a introducir los datos
manualmente.

Cunto tiempo de inactividad se puede tolerar?


Esto afecta si puede desconectar la base de datos para realizar copias de seguridad o
recuperacin de los datos. Si los datos deben estar disponibles las 24 horas del da, asegrese
de programar las copias de seguridad fuera de las horas pico.

Qu tan grande es la base de datos?


Esto afecta la ubicacin y el espacio de almacenamiento, como tambin la cantidad de tiempo
que tarda realizar copias de seguridad y la recuperacin de la base de datos.

Cules son los recursos del sistema con los que debe trabajar?
Cuenta con un amplio espacio de almacenamiento (virtual y fsico) para las copias de
seguridad? Existe la posibilidad de configurar un espejo o copia de su base de datos? La red
puede manejar un procedimiento de recuperacin o copia de seguridad que ocurre mientras
los usuarios an estn conectados a la base de datos? Tiene sentido contar con consultores
externos que le proporcionen la administracin de la recuperacin, el almacenamiento y la
copia de seguridad de la base de datos?

Qu tipo de sistema de administracin de bases de datos (DBMS) utiliza?


La mayora de los DBMS cuentan con su propia utilidad administrativa para realizar la
administracin de la recuperacin y copia de seguridad, pero tambin hay disponibles muchos
productos de software de terceros.

1.2. Copias de seguridad y Modelos de Recuperacin


1.2.1 Copias de Seguridad
El componente de copias de seguridad y restauracin de SQL Server ofrece una proteccin esencial
para los datos crticos almacenados en las bases de datos de SQL Server. Para minimizar el riesgo de
prdida de datos catastrfica, debe realizar copias de seguridad de las bases de datos para
conservar las modificaciones en los datos de forma peridica.

Una estrategia de copias de seguridad y restauracin correctamente planeada contribuye a la


proteccin de las bases de datos de la prdida de datos derivada de daos causados por diferentes

errores. Pruebe la estrategia mediante la restauracin de las copias de seguridad y la posterior


recuperacin de la base de datos para estar preparado y poder responder de forma eficaz ante un
desastre.

1.2.2 Ventajas
La copia de seguridad de las bases de datos de SQL Server, la ejecucin de procedimientos de
restauracin de prueba de las copias de seguridad y el almacenamiento de las copias en una
ubicacin segura y fuera del sitio contribuyen a protegerse ante una prdida de datos catastrfica.
Con las copias de seguridad vlidas de una base de datos puede recuperar los datos en caso de que
se produzcan errores, por ejemplo:
Errores de medios.
Errores de usuario, por ejemplo, quitar una tabla por error.
Errores de hardware, por ejemplo, una unidad de disco daada o la prdida permanente de
un servidor.

Desastres naturales. El uso de la copia de seguridad de SQL Server en el servicio de


almacenamiento Blob de Windows Azure le permite crear una copia de seguridad externa
en una regin diferente de la ubicacin local, con lo que podr utilizarla en caso de que un
desastre natural afecte a su ubicacin.

Adems, las copias de seguridad de una base de datos son tiles para fines administrativos
habituales, como copiar una base de datos de un servidor a otro, configurar Grupos de
disponibilidad AlwaysOn o la creacin de reflejo de la base de datos y el archivo.

1.3. Tipos de Copias de Seguridad


1.3.1 Copia de seguridad completa
Copia de seguridad completa que incluye todos los datos de una base de datos determinada
o un conjunto de grupos de archivos o archivos, as como una cantidad suficiente del
registro como para permitir la recuperacin de datos.

DONDE SE GUARDAN LAS COPIAS DE SEGURIDAD?

Podemos saber la ubicacin del directorio de los respaldos de la siguiente forma:

Al ingresar a esta ventana emergente, podemos ver el directorio en donde estn nuestras copias de
seguridad o respaldos:

1.3.2. Copia de seguridad diferencial:


Objetivo: Captura todas las extensiones que han cambiado desde la ltima copia de seguridad su
propsito principal: reduce el nmero de copias de seguridad de registro de transacciones que
necesitan ser restauradas
Una copia de seguridad diferencial tiene que ser aplicada a una copia de seguridad completa

Funcionamiento
SQL Server sigue cada extensin que ha sido modificada, siguiendo una copia de seguridad
completa usando una pgina especial en el encabezado de una base de datos llamado mapa de
cambio diferencial (DCM). Una copia de seguridad completa pondr a cero el contenido de la
DCM. Cuando se realizan cambios en las extensiones dentro de la base de datos, SQL Server
establecer el bit correspondiente para la extensin a 1.Cuando se ejecuta una copia de seguridad
diferencial, SQL Server lee el contenido de la DCM para encontrar todas las extensiones que han
cambiado desde la ltima copia de seguridad.

Pasos para crear una copia de seguridad diferencial de una base


de datos

Ejecute la instruccin BACKUP DATABASE para crear la copia de seguridad de base de datos
diferencial, especificando:
o El nombre de la base de datos de la que se va a realizar una copia de seguridad.
o El dispositivo de copia de seguridad en el que se escribe la copia de seguridad de
base de datos completa.
o La clusula DIFFERENTIAL, para especificar que solo se realice una copia de seguridad
de las partes de la base de datos que han cambiado desde la ltima copia de
seguridad de base de datos completa.
La sintaxis necesaria es:

BACKUP DATABASE database_name TO <backup_device> WITH DIFFERENTIAL

1.3.3 Copia de seguridad de grupo de archivos:


Objetivo: Permite destinar una porcin de una base de datos para ser copiada en una copia de
seguridad pueden ser usadas en conjunto con las copias de seguridad diferencial y de registro de
transacciones para recuperar una porcin de la base de datos en el caso de un fallo solo la parte de
la base de datos que se estar restaurando estar a fuera de lnea, el resto puede estar accesible
para las aplicaciones durante la operacin de restauracin
Sintaxis:
BACKUP DATABASE database_name TO <backup_device>

1.3.4. Copias de Seguridad del Registro de Transacciones


Objetivo: Contienen los cambios de los registros de transacciones a travs de una copia de
seguridad completa, es decir, captura cualquier cambio realizado desde la ltima copia de
seguridad del registro de transacciones completa antes del backup del registro de transaccin:

Para crear una copia de seguridad del registro de transacciones

Ejecute la instruccin BACKUP LOG para realizar una copia de seguridad del registro de
transacciones y especifique:
El nombre de la base de datos a la que pertenece el registro de transacciones del que
se desea hacer una copia de seguridad.
El dispositivo de copia de seguridad en el que se va a escribir la copia de seguridad
del registro de transacciones.

Sintaxis
BACKUP LOG Database
TO <backup_device>
GO

1.4. Modelos de Recuperacin


Para Microsoft SQL Server, el modelo de recuperacin es una configuracin de la base de datos,
que se cambi ya sea mediante Management Studio o la declaracin ALTER DATABASE. Existen tres
modelos de recuperacin para SQL Server: completa, de registro masivo y simple. A continuacin se
resume cada uno.

1.4.1. Modelo de recuperacin completa


La recuperacin completa permite la recuperacin de un punto en el tiempo (punto de fallo) si
cuenta con las copias de seguridad del registro de transaccin en ese punto en el tiempo. La
recuperacin de un punto en el tiempo significa la posibilidad de recuperar una base de datos en
un momento especfico, restaurando todas las transacciones confirmadas y deshaciendo todas las
transacciones incompletas.
La recuperacin de un punto de fallo o un punto en el tiempo implica lo siguiente:

Hacer una copia de seguridad del registro de transaccin activo actual

Restaurar la copia de seguridad completa de base de datos ms reciente sin recuperacin

Restaurar la copia de seguridad diferencial de base de datos ms reciente sin recuperacin

Restaurar en secuencia cualquier copia de seguridad del registro de transaccin sin


recuperacin

Restaurar la ltima copia de seguridad del registro de transaccin con recuperacin


Debe usar el modelo de recuperacin completa para una base de datos de produccin que
contenga datos crticos.
Para restaurar una copia de seguridad del registro de transacciones
Ejecute la instruccin RESTORE LOG para aplicar la copia de seguridad del registro de
transacciones especificando:
o El nombre de la base de datos a la que se aplicar el registro de transacciones.
o El dispositivo de copia de seguridad desde el que se restaurar la copia de seguridad
del registro de transacciones.
o La clusula NORECOVERY.
La sintaxis bsica de esta instruccin es la siguiente:
RESTORE LOG database_name FROM <backup_device> WITH NORECOVERY.
Donde database_name es el nombre de la base de datos y <backup_device>es el nombre
del dispositivo que contiene la copia de seguridad de registros que se restaura.

Despus de restaurar la copia de seguridad ms reciente en la secuencia de restauracin,


use una de las instrucciones siguientes para recuperar la base de datos:
Recuperar la base de datos como parte de la ltima instruccin RESTORE LOG:
RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY;
GO
Esperar a recuperar la base de datos utilizando otra instruccin RESTORE DATABASE:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;
RESTORE DATABASE <database_name> WITH RECOVERY;
GO

1.4.2. Modelo de recuperacin de registro masivo


Las bases de datos que utilizan el modelo de recuperacin de re gistro masivo, mnimamente
registran masivamente las operaciones en el registro de transaccin de Microsoft SQL Server.
Estas operaciones incluyen CREATE INDEX, SELECT INTO, writetext, updatetext y BULK INSERT.
El registro de transaccin no graba la suficiente informacin para recuperar estos cambios si
ocurre un error de medios despus de una operacin masiva. Puede recuperar la base de datos en
el punto de fallo, pero los datos pueden no ser consistentes si se cambiaron mediante una
operacin masiva. El proceso de restauracin es el mismo que el de recuperacin de base de
datos completa.

Es probable que los sitios que realizan operaciones masivas regularmente cuando otros usuarios
no acceden a la base de datos utilicen el modelo de recuperacin de
Registro masivo. O bien, puede utilizar el modelo de recuperacin completa la mayora de las
veces. Pero, cuando realice operaciones masivas, utilice la recuperacin de registro masivo para
ahorrar espacio en disco que utilizar el registro de transaccin cuando realice una recuperacin
de base de datos completa y mejore el rendimiento de la base de datos durante la operacin
masiva.

1.4.3. Modelo de recuperacin simple


El modelo de recuperacin simple no utiliza un registro de transaccin para la recuperacin. Si
utiliza el modelo de recuperacin simple, slo puede restaurar copias de seguridad completas de
base de datos. Por lo tanto, los datos slo se recuperan hasta la copia de seguridad ms reciente,
y no es posible la recuperacin de un punto en el tiempo. Los cambios que se realizaron desde la
ltima copia de seguridad de la base de datos se pierden.
La ventaja de utilizar el modelo de recuperacin simple es que se necesita menos administracin
del espacio de registro y del registro de transaccin. El modelo de recuperacin simple se puede
utilizar para bases de datos de desarrollo o bases de datos que no se editan con frecuencia.

1.5 EJERCICIO:
Recuperacin de datos con copia de seguridad completa, registro y copias de seguridad
diferenciales en un punto de tiempo

BASE DE DATOS A UTILIZAR SERA VENTAS

Primero crearemos una carpeta que contendr el backup de nuestra base de datos y a su vez el log de
transacciones de la misma.

A continuacin procederemos a sacar un BACKUP COMPLETO (FULL) de nuestra base de datos que cuenta
con solo 5 registros

Para esto creamos una nueva consulta y colocamos los siguientes comandos.

Con estos comandos preparamos nuestra base de datos Ventas para poder sacar un BACKUP COMPLETO
que supondremos que son los backups del da lunes en la maana.
Ahora procedernos a sacar un BACKUP de nuestra base de datos Ventas y lo guardaremos en la Unidad D:

Posteriormente verificamos el contenido de nuestro Backup-ventas

Pero suponemos que para finalizar el da lunes en la noche nos encontramos agregados 3 productos mas
Y por motivo de cierre sacamos un Backup-Diferencial de nuestra base de datos

Ejecutamos el Siguiente script y verificamos que se haya generado el backup diferencial y la posicin en la
que se encuentre ya que su posicin definir el tiempo al que queremos realizar la restauracin.

El siguiente paso es sacar el registro de transacciones de todo el Da lunes para lo cual colocamos los
siguientes comando

Para el siguiente caso asumimos que las transacciones del da lunes fueron guardadas de manera exitosa
Al siguiente da martes en la maana se agregan 2 productos ms.

A Continuacin procedemos a sacar un Backup de esta transaccin

Ahora se agrega un producto ms y por motivo de cierra sacamos otro Backup de todo el da (BackupDiferencial)

Y sacamos otro Backup del Registro de transacciones de ese mismo da

Debemos tomar en cuenta que la posicon en la que se almacenan los Backup


y los logs nos serviran para su posterior recupacion

Ahora bien al siguiente da tenemos que nuestra base de datos ha sufrido un fallo en los registros de datos
necesitamos restaurar nuestra base de datos con sus transacciones a un punto dado
Sabemos que las transacciones del da lunes fueron las correctas durante todo el da
Tambin sabemos que las transacciones que se realizaron el da martes en la maana estuvieron
correctas.
Pero el fallo sucedi el martes en la noche y se necesitan los datos que se tenan hasta el martes en
un punto de tiempo especificado.
SOLUCION:
Podemos utilizar nuestro Backup Completo del da lunes y el ltimo registro de transaccin del da
martes e intentar restaurar a un punto en el que todas las transacciones funcionaron bien y los datos
eran correcto, omitiendo los registros corruptos.
Eliminamos la BD con los datos corruptos
Restauramos nuestro backup full
del da lunes
Restauramos nuestro Backup full del
da lunes al finalizar el da debido a que
este punto de tiempo nuestra base es
consistente.
Recuperamos el log de transacciones del fin
Restauramos el log de
transacciones del da
martes a un cierto punto
especfico

Recuperamos la base de datos por completo

Ahora seleccionamos la base de datos y comprobamos que los datos hayan vuelto hasta la fecha indicada.

1.6 BIBLIOGRAFIA
1.
2.
3.
4.
5.
6.
7.

http://msdn.microsoft.com/es-ec/library/ms177446.aspx
http://microsoftsqlsecret.fullblog.com.ar/log-de-transacciones-ldf.html
https://www.simple-talk.com/redgatebooks/shawnmcgehee/sql-backup-restore.pdf
http://technet.microsoft.com/es-es/magazine/2009.07.sqlbackup.aspx#id0980008
http://msdn.microsoft.com/es-ec/library/ms179478.aspx
http://msdn.microsoft.com/es-es/library/aa337540.aspx
http://solutioncenter.apexsql.com/reverting-your-sql-server-database-back-to-a-specific-point-intime/

8. SQL Server 2008/ Microsoft SQL Server 2008: Paso a Paso / Step by Step
Paso A Paso, Mike Hotek, Anaya Multimedia-Anaya Interactiva, 2009,
ISBN 8441525668, 9788441525665.