Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Copia de Seguridad de BD PDF
Copia de Seguridad de BD PDF
de datos
Contenido
Introduccin 1
Impedir la prdida de los datos 2
Establecimiento y cambio de un modelo
de recuperacin de bases de datos 4
Copia de seguridad de SQL Server 6
Cundo se hacen las copias de
seguridad de las bases de datos 8
Ejecucin de copias de seguridad 14
Tipos de mtodos de copia de seguridad 27
Diseo de una estrategia de copia
de seguridad 42
Consideraciones acerca del rendimiento 52
Copia de seguridad de bases de datos i
Introduccin
Objetivo del tema
Proporcionar una introduc-
cin a los temas y objetivos Impedir la prdida de los datos
del mdulo.
Establecimiento y cambio de un modelo de
Explicacin previa recuperacin de bases de datos
Utilizar una estrategia
de copia de seguridad Copia de seguridad de SQL Server
es esencial en el manteni-
miento de una base de Cundo se hacen las copias de seguridad de las bases
datos. de datos
Ejecucin de copias de seguridad
Tipos de mtodos de copia de seguridad
Diseo de una estrategia de copia de seguridad
ALTER
ALTER DATABASE
DATABASE Northwind
Northwind
SET
SET RECOVERY
RECOVERY BULK_LOGGED
BULK_LOGGED
SQL Server utiliza estas copias de seguridad para volver a crear los archivos
en sus ubicaciones originales, completos con objetos y datos, cuando se
restaura una base de datos.
Captura la actividad de la base de datos que tiene lugar durante el proceso
Punto clave de copia de seguridad.
Explique que el proceso
de copia de seguridad de El proceso de copia de seguridad de SQL Server es dinmico y, salvo
SQL Server es dinmico algunas excepciones, puede tener lugar mientras la base de datos est en
y describa cmo se funcionamiento y se est modificando. El proceso de copia de seguridad
desarrolla. dinmica se produce cuando SQL Server:
Emite un punto de comprobacin en la base de datos y registra el nmero de
secuencia de registro (LSN) del registro de transacciones activo ms antiguo.
Lee los discos directamente (pasa por alto la cach del bfer) para escribir
todas las pginas en el medio de copia de seguridad.
Escribe todas las entradas del registro de transacciones escritas durante el
proceso de copia de seguridad. Concretamente, SQL Server escribe las
entradas del registro de transacciones desde el ltimo LSN grabado hasta el
final del registro.
Copia de seguridad de bases de datos 7
Para hacer una copia de seguridad de una base de datos en SQL Server, debe
tener en cuenta a quin le est permitido hacer la copia de seguridad y dnde se
va a almacenar. Puede realizar copias de seguridad de bases de datos mediante
instrucciones de Transact-SQL o con el Administrador corporativo de
SQL Server.
Nota Sin una copia de seguridad actual de la base de datos master que
contenga referencias a las bases de datos de usuario, deber volver a generar
completamente todas las bases de datos del sistema con el programa de smbolo
del sistema rebuildm, mediante la ejecucin de C:\Archivos de
programa\Microsoft SQL Server\80\Tools\Binn\Rebuildm.exe. Este programa
vuelve a generar todas las bases de datos del sistema como una unidad.
Copia de seguridad de bases de datos 10
Debe planear las copias de seguridad de las bases de datos de usuario para que
se hagan de forma regular. Tambin debe hacer copias de seguridad despus de
crear una base de datos o un ndice, y cuando se ejecutan ciertas operaciones no
registradas.
Haga una copia de seguridad de una base de datos despus de ejecutar cualquier
operacin no registrada porque, si se produce un error del sistema, puede que el
registro de transacciones no contenga toda la informacin necesaria para
restaurar la base de datos a un estado coherente.
Copia de seguridad de bases de datos 13
Puede hacer una copia de seguridad de una base de datos mientras sta est
en funcionamiento y activa. Sin embargo, no es conveniente realizar algunas
operaciones durante el proceso de copia de seguridad.
Evite efectuar las acciones siguientes durante la operacin de copia de
seguridad de una base de datos:
Crear o modificar bases de datos con las instrucciones CREATE
DATABASE o ALTER DATABASE.
Realizar operaciones de crecimiento automtico.
Crear ndices.
Ejecutar operaciones no registradas, incluidas la copia masiva de datos y las
instrucciones SELECTINTO, WRITETEXT y UPDATETEXT.
Reducir una base de datos.
Copia de seguridad de bases de datos 14
Cuando haga una copia de seguridad, primero debe crear los archivos de copia
de seguridad (permanentes o temporales) que la contendrn. SQL Server
proporciona opciones que puede aplicar a cada uno de los distintos mtodos
de copia de seguridad disponibles. Aunque SQL Server le permite elegir varios
destinos de copia de seguridad, el disco o la cinta son los ms comunes.
Copia de seguridad de bases de datos 15
USE
USE master
master
EXEC
EXEC sp_addumpdevice
sp_addumpdevice 'disk',
'disk', 'mybackupfile',
'mybackupfile',
'C:\Backup\MyBackupFile.bak'
'C:\Backup\MyBackupFile.bak'
Ejemplo 2 En este ejemplo se crea un dispositivo de copia de seguridad en una cinta con el
nombre lgico Mytape1 y el nombre fsico \\.\tape0.
USE master
EXEC sp_addumpdevice 'tape', 'mytape1', '\\.\tape0'
Copia de seguridad de bases de datos 17
toss
e ddaato
pBB1
1
SQL Server puede escribir
ckuup
se dde
en varios archivos de
BBaack
e
d bbaas
copia de seguridad al
ridaad
mismo tiempo (en paralelo). Conjunto
Media
Media Set
Setde
Conjunto de medios
medios
eguurid
Se puede hacer una copia File 1
Archivo1 File 2
Archivo2 File 3
Archivo3
ia sseg
de seguridad en un conjunto Conjunto
Backup
Backup Set
Conjunto de
Set
de CopiaA1
BackupA1 CopiaA1
BackupA1 CopiaA1
BackupA1
BackupB1
CCooppia
de copia de seguridad para copia
copia de
de BackupA2
CopiaA2 BackupA2
CopiaA2 BackupA2
CopiaA2
reducir la duracin total de seguridad
seguridad BackupA3
CopiaA3 BackupA3
CopiaA3 BackupA3
CopiaA3
la copia y la restauracin CopiaB1 CopiaB1 CopiaB1
de la base de datos.
Nota Si usa varios dispositivos, cada archivo de copia de seguridad tiene una
designacin de familia, como familia 1, que identifica al dispositivo que cre el
archivo.
Las cintas son un medio muy cmodo para las copias de seguridad porque no
son caras, proporcionan una gran cantidad de espacio de almacenamiento y se
pueden almacenar fuera del sitio para asegurar y proteger los datos.
UNLOAD
SQL Server rebobina y descarga automticamente la cinta de la unidad de
cinta despus de terminar la copia de seguridad. La opcin UNLOAD es la
predeterminada de SQL Server y permanece activa hasta que se selecciona la
opcin NOUNLOAD.
NOUNLOAD
Puede utilizar esta opcin si no desea que SQL Server rebobine y descargue
automticamente la cinta de la unidad de cinta despus de la copia de seguridad.
La opcin NOUNLOAD permanece activa hasta que se seleccione UNLOAD.
BLOCKSIZE
Puede utilizar esta opcin para cambiar el tamao del bloque fsico en bytes si
va a sobrescribir la cinta con las opciones FORMAT, o SKIP e INIT. Cuando
se hace una copia de seguridad en cinta, SQL Server selecciona el tamao de
bloque apropiado. Puede suplantar la seleccin del tamao de bloque si utiliza
la opcin BLOCKSIZE y especifica un tamao de bloque.
Copia de seguridad de bases de datos 26
FORMAT
Puede utilizar esta opcin para escribir un encabezado en todos los volmenes
(archivos) que se utilizan en una copia de seguridad. SQL Server sobrescribe
todos los encabezados y las copias de seguridad de los archivos. El encabezado
incluye la informacin que se encuentra en las opciones MEDIANAME y
MEDIADESCRIPTION.
SKIP
Puede utilizar esta opcin para saltar los encabezados. SQL Server pasa por alto
las etiquetas ANSI existentes en las cintas del dispositivo de cinta. La etiqueta
ANSI de las cintas puede proporcionar informacin de advertencia acerca de la
fecha de caducidad de la cinta, as como exigir permisos de escritura.
NOSKIP
Puede utilizar esta opcin si desea que SQL Server lea las etiquetas ANSI de la
cinta. SQL Server comprobar la fecha de caducidad y el nombre de todos los
conjuntos de copia de seguridad del medio antes de sobrescribirlos. De forma
predeterminada, SQL Server lee las etiquetas ANSI de las cintas.
RESTART
Puede utilizar esta opcin para reiniciar la operacin de copia de seguridad a
partir del punto de interrupcin para hacer copias de seguridad en cinta que
abarquen varios volmenes de cinta. Debe reiniciar manualmente el proceso
de copia de seguridad mediante la instruccin BACKUP original con la opcin
RESTART.
Copia de seguridad de bases de datos 27
Ejemplo 2 En este ejemplo se hace una copia de seguridad completa de la base de datos en
el archivo Nwndbac y se sobrescriben las copias de seguridad anteriores de ese
archivo.
BACKUP DATABASE Northwind TO NwindBac WITH INIT
Ejemplo 3 En este ejemplo se anexa una copia de seguridad completa de la base de datos al
archivo NwindBac. Las copias de seguridad anteriores del archivo siguen
intactas.
BACKUP DATABASE Northwind TO NwindBac WITH NOINIT
Copia de seguridad de bases de datos 29
Debe hacer una copia de seguridad diferencial para reducir el tiempo necesario
para la restauracin de una base de datos que se modifica con frecuencia. Haga
una copia de seguridad diferencial slo si ha hecho una copia de seguridad
completa de la base de datos. En una copia de seguridad diferencial,
SQL Server:
Copia las partes de la base de datos que han cambiado desde la ltima copia
de seguridad completa.
Para determinar qu pginas han cambiado desde la ltima copia de
seguridad completa de la base de datos, SQL Server compara el LSN
de la pgina con el LSN de sincronizacin de la ltima copia de seguridad
completa.
Cuando se hace una copia de seguridad diferencial, SQL Server copia
extensiones en lugar de pginas individuales. Se hace una copia de una
extensin cuando el LSN de cualquier pgina de la extensin es mayor
que el LSN de la ltima copia de seguridad completa de la base de datos.
Se copia toda la actividad que haya tenido lugar durante la copia de
seguridad diferencial, as como las transacciones sin confirmar del registro
de transacciones.
Copia de seguridad de bases de datos 31
Cuando haga una copia de seguridad diferencial, tenga en cuenta los siguientes
Puntos clave hechos e instrucciones:
Seale que se debe
utilizar una convencin de Si una determinada fila de la base de datos ha sido modificada varias veces
denominacin para los desde la ltima copia de seguridad completa de la base de datos, la copia de
archivos que contienen
seguridad diferencial slo contiene el ltimo conjunto de valores de esa fila.
copias de seguridad
diferenciales, de forma Esto es diferente de una copia de seguridad del registro de transacciones,
que puedan distinguirse que contiene un historial de los cambios en las filas.
de los archivos que Disminuye el tiempo necesario para hacer la copia de seguridad de una base
contienen copias de de datos porque los conjuntos de copia de seguridad son ms pequeos que
seguridad completas los de las copias de seguridad completas.
de la base de datos.
Disminuye el tiempo necesario para restaurar una base de datos porque no
hay que aplicar varios registros de transacciones.
Debe establecer una convencin de denominacin para los archivos
que contienen copias de seguridad diferenciales, de forma que puedan
distinguirse de los que contienen copias de seguridad completas de la
base de datos.
Sintaxis parcial BACKUP DATABASE {nombreBaseDeDatos | @varNombreBaseDeDatos}
TO <dispositivoDeCopia> [, ...n]
[WITH
[DIFFERENTIAL]
]
Ejemplo En este ejemplo se crea una copia de seguridad diferencial en un archivo de
copia de seguridad temporal.
BACKUP DATABASE Northwind TO
DISK = 'D:\MyData\MyDiffBackup.bak'
WITH DIFFERENTIAL
Copia de seguridad de bases de datos 32
Ejemplo 2 En este ejemplo se utiliza la instruccin BACKUP LOG para quitar la parte
inactiva del registro de transacciones completo sin hacer una copia de
seguridad.
BACKUP LOG Northwind WITH NO_LOG
Ejemplo En este ejemplo se hace la copia de seguridad del archivo Orders2 de un grupo
de archivos de una base de datos. La base de datos PhoneOrders consta de
tres archivos: Orders1, Orders2 y Orders3. El registro de transacciones est
almacenado en el archivo OrderLog. Ya existen los siguientes archivos de
copia de seguridad: OrderBackup1, OrderBackup2, OrderBackup3 y
OrderBackupLog.
BACKUP DATABASE PhoneOrders
FILE = Orders2 TO OrderBackup2
BACKUP LOG PhoneOrders to OrderBackupLog
Copia de seguridad de bases de datos 39
Cuando haga la copia de seguridad de una base de datos que conste de varios
archivos o grupos de archivos, puede que necesite hacer copias de seguridad
de varios archivos como una sola unidad si ha creado ndices.
SQL Server detecta automticamente si se ha creado un ndice desde la ltima
copia de seguridad de un archivo de la base de datos y requiere que la copia de
seguridad del conjunto de todos los archivos afectados se realice como si se
tratara de una sola unidad.
Implementacin empresarial
Debe hacer copias de seguridad completas de una base de datos si:
La base de datos es pequea. La cantidad de tiempo que se requiere para
hacer la copia de seguridad de una base de datos pequea es razonable.
La base de datos es de slo lectura o sus datos sufren pocas modificaciones.
La copia de seguridad completa de la base de datos captura un conjunto de
datos razonablemente completo. Puede que desee conseguir una menor
prdida de datos si se produce un error entre dos copias de seguridad y hay
que restaurar la base de datos.
Ejemplo de estrategia 1
Considere el siguiente ejemplo de un plan de copia de seguridad y los pasos que
debera realizar para restaurar la base de datos. Supongamos que:
La base de datos slo contiene 10 megabytes (MB) de datos.
El proceso de la copia de seguridad completa de la base de datos dura unos
pocos minutos.
La base de datos se utiliza, principalmente, como ayuda en la toma de
decisiones y sufre pocas modificaciones al da.
La posibilidad de perder los cambios de la base de datos de un da es
aceptable. Dichos cambios se pueden volver a repetir fcilmente.
El administrador del sistema no desea supervisar el tamao del registro ni
realizar ningn mantenimiento en el registro de transacciones.
La opcin de base de datos trunc. log on chkpt. est establecida a True
para asegurar que el registro de transacciones se trunque con frecuencia.
El registro de transacciones no se utiliza para grabar los cambios de la base
de datos a lo largo del tiempo y no se puede utilizar para restaurar la base de
datos en el caso de un error del sistema.
La copia de seguridad completa de la base de datos se hace todas las noches
a las 6:00 p.m.
La base de datos se daa a las 10:00 a.m.
Proceso de restauracin
Para recuperar la base de datos debe restaurar la copia de seguridad completa de
la base de datos a partir de la copia de las 6:00 p.m. del da anterior con el fin de
sobrescribir la versin daada de la base de datos.
La limitacin de esta solucin es que se pierden todas las modificaciones
realizadas en los datos desde la ltima copia de seguridad.
Copia de seguridad de bases de datos 44
Ejemplo de estrategia 2
Considere el ejemplo siguiente de un plan de copia de seguridad y los pasos que
debera realizar para restaurar la base de datos. Suponga que la base de datos es
similar a la descrita en el ejemplo 1, con las excepciones siguientes:
La base de datos se modifica muy poco cada da, pero con mayor frecuencia
que la base de datos del ejemplo 1.
El administrador del sistema asume la responsabilidad de asegurar que haya
espacio suficiente en el registro de transacciones.
La opcin de base de datos trunc. log on chkpt. est desactivada
(establecida a False). El registro de transacciones graba los cambios
realizados desde la ltima copia de seguridad completa de la base de datos y
se puede utilizar para restaurar o recuperar la base de datos si se produce un
error del sistema.
El registro de transacciones se almacena en un dispositivo fsico distinto del
de la base de datos.
La copia de seguridad completa de la base de datos se hace todos los das
a las 6:00 p.m. Las copias de seguridad del registro de transacciones no se
hacen de forma regular, pero el registro de transacciones se limpia
peridicamente.
Proceso de restauracin
Para recuperar la base de datos, debera realizar los siguientes pasos:
1. Haga la copia de seguridad del registro de transacciones sin truncar los
datos (opcin NO_TRUNCATE).
2. Restaure la copia de seguridad completa de la base de datos, que se cre la
noche anterior a las 6:00 p.m., para sobrescribir la versin daada de la base
de datos.
3. Restaure la copia de seguridad del registro de transacciones creada en el
paso 1 y recupere la base de datos.
Mediante esta tcnica, puede recuperar los cambios realizados desde la copia de
seguridad de la noche anterior si el registro de transacciones no est daado. Sin
embargo, si la posibilidad de perder datos es demasiado grande, debe considerar
la implementacin de una estrategia de copia de seguridad que incluya la
realizacin peridica de copias de seguridad del registro de transacciones.
Copia de seguridad de bases de datos 45
Implementacin empresarial
Establezca una estrategia de copia de seguridad completa de la base de datos y
del registro de transacciones para las bases de datos modificadas con mucha
frecuencia. Tambin debe considerar si la copia de seguridad de la base de
datos y de los registros de transacciones se pueden hacer en un intervalo de
tiempo aceptable.
Copia de seguridad de bases de datos 46
Ejemplo de estrategia
Considere el siguiente ejemplo de un plan de copia de seguridad y los pasos
que debera realizar para restaurar la base de datos. Supongamos que:
La base de datos y los registros de transacciones estn almacenados en
archivos y medios fsicos independientes.
La copia de seguridad completa de la base de datos se hace todas las noches
a las 6:00 p.m.
Las copias de seguridad del registro de transacciones se hacen todos los das
a las 9:00 a.m., a las 12:00 del medioda y a las 3:00 p.m.
El medio fsico que contiene la base de datos se daa a la 1:30 p.m.
Proceso de restauracin
Para recuperar la base de datos, debera realizar los pasos siguientes:
1. Haga una copia de seguridad del registro de transacciones, si es posible.
Utilice la opcin WITH NO_TRUNCATE.
2. Restaure la copia de seguridad completa de la base de datos que se cre la
noche anterior a las 6:00 p.m.
3. Aplique todos los registros de transacciones que se hayan creado durante el
da (9:00 a.m. y 12:00 p.m.).
4. Aplique la copia de seguridad del registro de transacciones que se ha creado
al comienzo del proceso de restauracin (si se ha creado uno).
Copia de seguridad de bases de datos 47
Explicacin previa
Puede hacer una copia
de seguridad diferencial
adems de la copia de Lunes Martes
Lunes Martes
seguridad completa de la
base de datos y del registro
de transacciones.
Implementacin empresarial
Utilice esta estrategia para reducir el tiempo de recuperacin si la base de
datos se daa. Por ejemplo, en lugar de aplicar varios registros de transacciones
grandes, puede utilizar una copia de seguridad diferencial para aplicar los
cambios que se hayan efectuado en la base de datos desde la ltima copia de
seguridad completa de la base de datos.
Copia de seguridad de bases de datos 48
Ejemplo de estrategia
Considere el siguiente ejemplo de un plan de copia de seguridad y los pasos que
debera realizar para restaurar la base de datos. Supongamos que:
Se hace una copia de seguridad completa de la base de datos una vez a la
semana. La ltima copia de seguridad completa de la base de datos se hizo
el domingo a la 1:00 a.m.
Todos los das, al terminar la jornada laboral, se hace una copia de
seguridad diferencial. Se han hecho copias de seguridad diferenciales el
lunes y el martes a las 6:00 p.m.
Las copias de seguridad del registro de transacciones se hacen cada hora,
durante la jornada laboral (entre las 8:00 a.m. y las 5:00 p.m.). Se han hecho
copias de seguridad del registro de transacciones a las 8:00 a.m. y a las 9:00
a.m. del mircoles.
La base de datos se daa a las 9:30 a.m. del mircoles.
Proceso de restauracin
Para recuperar la base de datos, debera realizar los pasos siguientes:
1. Haga una copia de seguridad del registro de transacciones, si es posible.
Utilice la opcin WITH NO_TRUNCATE.
2. Restaure la copia de seguridad completa de la base de datos que se cre el
domingo a la 1:00 a.m.
3. Restaure la copia de seguridad diferencial que se cre el martes a las 6:00
p.m. Este archivo de copia de seguridad es la copia de seguridad diferencial
ms reciente y contiene todos los cambios realizados en la base de datos
desde la copia de seguridad completa de la base de datos del domingo a la
1:00 a.m.
4. Aplique las copias de seguridad del registro de transacciones creadas el
mircoles a las 8:00 a.m. y las 9:00 a.m.
5. Aplique la copia de seguridad del registro de transacciones que ha creado al
comienzo del proceso de restauracin (paso 1) para asegurar la coherencia
de los datos.
Copia de seguridad de bases de datos 49
Implementacin empresarial
Utilice esta estrategia en las bases de datos de gran tamao (VLDB) que
estn repartidas en varios archivos. Cuando se combina con las copias de
seguridad regulares del registro de transacciones, esta tcnica ofrece una
ventaja de tiempo sobre las copias de seguridad completas de la base de datos.
Por ejemplo, si slo dispone de una hora para hacer la copia de seguridad
completa de la base de datos (que normalmente dura cuatro horas), podra
hacer la copia de seguridad de archivos individuales todas las noches, con lo
que se sigue asegurando la coherencia de los datos.
Sin embargo, esta estrategia es complicada y no mantiene la integridad
referencial de forma automtica.
Copia de seguridad de bases de datos 50
Ejemplo de estrategia
Considere el siguiente ejemplo de un plan de copia de seguridad y los pasos
que debera realizar para restaurar la base de datos. Supongamos que:
Los datos de la base de datos estn divididos entre Archivo1, Archivo2 y
Archivo3.
Todas las semanas se hace una copia de seguridad completa de la base de
datos. La ltima copia de seguridad completa de la base de datos se hizo el
lunes a la 1:00 a.m.
Los archivos seleccionados se copian de forma rotativa, todos los das a la
1:00 a.m:
Archivo1 se copi el martes a la 1:00 a.m.
Archivo2 se copi el mircoles a la 1:00 a.m.
Archivo3 se copi el jueves a la 1:00 a.m.
Las copias de seguridad del registro de transacciones se hacen todos los das
a las 12:00 del medioda y a las 6:00 p.m.
El jueves a las 8:00 a.m., se daa el medio fsico de Archivo2.
Proceso de restauracin
Para recuperar la base de datos, debera realizar los pasos siguientes:
1. Haga una copia de seguridad del registro de transacciones, si es posible.
Utilice la opcin WITH NO_TRUNCATE.
2. Restaure la copia de seguridad de Archivo2 que se cre el mircoles a la
1:00 a.m.
3. Aplique todas las copias de seguridad del registro de transacciones que se
hayan creado desde la 1:00 a.m. del mircoles.
4. Aplique el registro de transacciones creado al comienzo del proceso de
restauracin para recuperar los datos. Al aplicar todos los registros de
transacciones hace que los objetos de Archivo2 sean coherentes con el resto
de la base de datos.