INFORME RECUPERACION SQL SERVER

FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS Ingeniería Informática Base de datos III Chuquilla Jonathan Manoba

Views 179 Downloads 9 File size 681KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS Ingeniería Informática Base de datos III Chuquilla Jonathan Manobanda Cristian 2017 - 2018

Universidad Central del Ecuador Facultad de Ciencias Físicas y Matemática Ingeniería Informática

INDICE

Contenido INDICE .......................................................................................................................................................................................... 2 1.

OBJETIVOS .......................................................................................................................................................................... 3 1.1 1.2

OBJETIVO GENERAL................................................................................................................................................................ 3 OBJETIVOS ESPECÍFICOS ......................................................................................................................................................... 3

2.

INTRODUCCIÓN ................................................................................................................................................................. 3

3.

TIPOS DE COPIAS DE SEGURIDAD DE DATOS ............................................................................................................. 4

4.

RESTRICCIONES DE LAS OPERACIONES DE COPIA DE SEGURIDAD EN SQL SERVER ..................................... 4

5.

MODELOS DE RECUPERACIÓN DE BASES DE DATOS ............................................................................................... 5 5.1 5.2 5.3

MODELO DE RECUPERACIÓN SIMPLE ....................................................................................................................................... 5 MODELO DE RECUPERACIÓN COMPLETO ................................................................................................................................. 7 MODELO DE RECUPERACIÓN REGISTRO MASIVO...................................................................................................................... 8

6.

DESARROLLO ..................................................................................................................................................................... 9

7.

CONCLUSIONES ............................................................................................................................................................... 10

8.

BIBLIOGRAFÍA ................................................................................................................................................................. 11

Pág. 2

Recuperación en SQL

Universidad Central del Ecuador Facultad de Ciencias Físicas y Matemática Ingeniería Informática

1. OBJETIVOS 1.1

Objetivo General Exponer la recuperación de una base de datos en SQL Server 2008.

1.2

Objetivos Específicos Presentar los tipos de recuperación de una base de datos en SQL Server 2008. Realizar un ejemplo práctico de recuperación de una base de datos en SQL Server 2008.

2. INTRODUCCIÓN Microsoft SQL Server 2008 proporciona funciones de copia de seguridad y restauración de alto rendimiento. El componente de copia de seguridad y restauración de SQL Server ofrece una protección esencial para los datos críticos almacenados en las bases de datos de SQL Server. La implementación de una estrategia correctamente planeada de copia de seguridad y restauración contribuye a la protección de las bases de datos de la pérdida de datos derivada de daños causados por diferentes errores. La comprobación de la estrategia mediante la restauración de las copias de seguridad y la recuperación de la base de datos permite estar preparado para responder de forma eficaz ante un desastre. Una copia de los datos que se puede utilizar para restaurar y recuperar los datos se denomina copia de seguridad. Las copias de seguridad le permiten restaurar los datos después de un error. Con las copias de seguridad correctas, puede recuperarse de multitud de 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 dañada o la pérdida permanente de un servidor. Desastres naturales.

Además, 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 la creación de reflejo de la base de datos y el archivo. Cada modelo de recuperación permite realizar una copia de seguridad completa o parcial de una base de datos de SQL Server, de archivos individuales o de grupos de archivos de la base de datos. (Vergel Rodríguez, 2010).

Pág. 3

Recuperación en SQL

Universidad Central del Ecuador Facultad de Ciencias Físicas y Matemática Ingeniería Informática Es posible hacer una copia de seguridad de una base de datos en un equipo de modo rápido y sencillo y restaurarla posteriormente en otro equipo sin perder la información. La realización de copias de seguridad y la restauración de bases de datos resultan útiles para copiar una base de datos de un servidor a otro proporcionando protección para los datos almacenados en bases de datos de SQL Server. Con una planificación adecuada, se pueden recuperar muchos errores de medios, de usuarios y de pérdida permanente de un servidor. Para desarrollar un plan de copia de seguridad y restauración correcto, se debe analizar cuándo los datos deben ser accesibles y el posible impacto de la pérdida de datos. También es conveniente crear un plan de recuperación de desastres para garantizar que todos los sistemas y datos puedan recuperar rápidamente su funcionamiento normal en caso de un desastre natural o un desastre técnico. (Pérez López, 2010).

3. TIPOS DE COPIAS DE SEGURIDAD DE DATOS El ámbito de una copia de seguridad de datos puede ser la base de datos completa, parcial o un conjunto de archivos o grupos de archivos. En todos estos casos, SQL Server admite copias de seguridad completas y diferenciales:  Copia de seguridad completa Una copia de seguridad completa incluye todos los datos de una base de datos determinada o un conjunto de grupos de archivos, así como una cantidad suficiente del registro como para permitir la recuperación de datos.  Copia de seguridad diferencial Una copia de seguridad diferencial se basa en la última copia de seguridad completa de los datos. Ésta se denomina base de la copia de seguridad diferencial o base diferencial. Una copia de seguridad diferencial incluye sólo los datos que han cambiado desde la última base diferencial. Por lo general, las copias de seguridad diferenciales que se realizan poco después de su base son más pequeñas y rápidas, ahorrando así tiempo con respecto a la copia de seguridad completa. (Vergel Rodríguez, 2010)

4. RESTRICCIONES DE LAS OPERACIONES DE COPIA DE SEGURIDAD EN SQL SERVER En SQL Server 2008, se puede realizar la copia de seguridad mientras la base de datos está conectada y en uso. Sin embargo, existen las siguientes restricciones.  No se pueden realizar copias de seguridad de los datos sin conexión Cualquier operación de copia de seguridad en la que se haga referencia de forma implícita o explícita a datos sin conexión provocará un error  Restricciones de simultaneidad durante una copia de seguridad

Pág. 4

Recuperación en SQL

Universidad Central del Ecuador Facultad de Ciencias Físicas y Matemática Ingeniería Informática SQL Server utiliza el proceso de copia de seguridad con conexión para permitir que se realice la copia de seguridad de una base de datos mientras se está utilizando. Durante la copia de seguridad, se pueden realizar la mayoría de las operaciones (por ejemplo, las instrucciones INSERT, UPDATE o DELETE están permitidas durante la operación de copia de seguridad). (Vergel Rodríguez, 2010)

5. MODELOS DE RECUPERACIÓN DE BASES DE DATOS

5.1 Modelo de recuperación simple El modelo de recuperación simple no es adecuado en sistemas de producción en los que es inaceptable la pérdida de cambios recientes. En estos casos, se recomienda el modelo de recuperación completa. El modelo de recuperación simple proporciona la forma más sencilla de realizar copias de seguridad y restauraciones. La copia de seguridad es fácil de administrar porque nunca se crean copias de seguridad del registro de transacciones. Sin embargo, si no hay copias de seguridad de registros, una base de datos puede restaurarse sólo al final de la copia de seguridad de datos más reciente. Si se produjera un error, se perderían las actualizaciones realizadas después de la copia de seguridad de datos más reciente. Ejemplo: La siguiente imagen muestra la estrategia de copia de seguridad y restauración más simple con el modelo de recuperación simple. Existen cinco copias de seguridad completas de la base de datos, pero sólo debe restaurarse la más reciente, realizada a la hora t5. La restauración de esta copia de seguridad devuelve la base de datos a la hora t5. El resto de actualizaciones posteriores, representadas por el cuadro t6, se pierden.

Con el modelo de recuperación simple, el riesgo de pérdida de trabajo aumenta con el tiempo hasta que se realice la siguiente copia de seguridad completa o diferencial. Por tanto, se recomienda programar copias de seguridad con la frecuencia suficiente para evitar la pérdida de un gran volumen de datos sin que las copias de seguridad resulten imposibles de administrar.

Pág. 5

Recuperación en SQL

Universidad Central del Ecuador Facultad de Ciencias Físicas y Matemática Ingeniería Informática La siguiente imagen muestra el riesgo de pérdida del trabajo en un plan de copia de seguridad que sólo utiliza copias de seguridad de bases de datos. Esta estrategia sólo es adecuada para una base de datos pequeña de la que se puede hacer una copia de seguridad con bastante frecuencia.

La siguiente imagen muestra una estrategia de copia de seguridad que reduce el riesgo de pérdida del trabajo complementando copias de seguridad de bases de datos con copias de seguridad diferenciales de bases de datos. Tras la primera copia de seguridad de la base de datos, se realizan tres copias de seguridad diferenciales. La tercera copia de seguridad diferencial es lo suficientemente grande para que la siguiente copia de seguridad sea una copia de seguridad de base de datos. Esto establece una nueva base diferencial.

Una secuencia de restauración empieza con la restauración de una copia de seguridad completa, que puede estar seguida, si se desea, de la copia de seguridad diferencial correspondiente. En algunos casos, por ejemplo, al restaurar archivos, es posible que varios pares de copias de seguridad completas y diferenciales requieran su restauración. Después de restaurar las copias de seguridad relevantes, debe recuperar la base de datos. (Vergel Rodríguez, 2010)

Pág. 6

Recuperación en SQL

Universidad Central del Ecuador Facultad de Ciencias Físicas y Matemática Ingeniería Informática 5.2 Modelo de recuperación completo En el modelo de recuperación completa se usan copias de seguridad de registros para evitar la pérdida de datos en la mayor parte de los casos de error y es necesario realizar copias de seguridad y restaurar el registro de transacciones (copias de seguridad de registros). La ventaja de usar las copias de seguridad de registros reside en que permite restaurar una base de datos a cualquier momento de una copia de seguridad de registros (recuperación a un momento dado). Si consideramos que se puede realizar una copia de seguridad del registro activo después de que ocurra un desastre, se podrá restaurar la base de datos al momento del error sin perder datos. Las desventajas de usar las copias de seguridad de registros son que requieren espacio de almacenamiento y aumentan la duración y la complejidad de las restauraciones. Ejemplo: En la siguiente imagen se muestra la estrategia de copia de seguridad más fácil con el modelo de recuperación completa. En la imagen se han realizado una copia de seguridad de base de datos, Db_1, y dos copias de seguridad de registros rutinarias, Log_1 y Log_2. Algún tiempo después de la copia de seguridad de registros Log_2, se pierden datos de la base de datos. Antes de restaurar estas tres copias de seguridad, el administrador de la base de datos debe realizar una copia de seguridad del registro activo (el final del registro). Entonces, el administrador de la base de datos restaura Db_1, Log_1 y Log_2 sin recuperar la base de datos. A continuación, el administrador de la base de datos restaura y recupera la copia de seguridad de registros después del error (Tail). Así se recupera la base de datos al momento del error, incluidos todos los datos.

Una vez que finaliza la primera copia de seguridad completa de la base de datos y se inician las copias de seguridad periódicas de registros, el riesgo potencial de pérdida de trabajo se limita al tiempo transcurrido entre el momento en que se daña la base de datos y la copia de seguridad periódica de registros más reciente. Por lo tanto, se recomienda que se realicen copias de seguridad de registros con suficiente frecuencia para mantener el riesgo de pérdida de trabajo dentro de los límites establecidos por sus requisitos empresariales.

Pág. 7

Recuperación en SQL

Universidad Central del Ecuador Facultad de Ciencias Físicas y Matemática Ingeniería Informática

En esta imagen, antes de la primera copia de seguridad de la base de datos, existe un riesgo potencial de pérdida de trabajo en la base de datos (de la hora t0 a la hora t1) Por tanto, las copias de seguridad de registros rutinarias reducen el riesgo de pérdida de trabajo a la posibilidad de perder los cambios realizados después de la última copia de seguridad de registros (realizada a la hora t14 en esta ilustración). Si se produce un error, el administrador de la base de datos debe intentar realizar inmediatamente una copia de seguridad del registro activo (el final del registro). Si esta copia de seguridad de registros después del error se realiza correctamente, la base de da- tos se puede restaurar hasta el momento del error. (Vergel Rodríguez, 2010)

5.3 Modelo de recuperación registro masivo El modelo de recuperación por medio de registros de operaciones masivas es un modelo de recuperación con fines específicos que debe utilizarse sólo de manera intermitente para mejorar el rendimiento de ciertas operaciones masivas a gran escala, como las importaciones masivas de grandes cantidades de datos. La mayor parte de la descripción de la copia de seguridad con el modelo de recuperación completa también se aplica al modelo de recuperación por medio de registros de operaciones masivas. Es aconsejable minimizar el uso del modelo de recuperación por medio de registros de operaciones masivas. Se recomienda cambiar al modelo de recuperación por medio de registros de operaciones masivas justo antes de un conjunto de operaciones masivas, realizar las operaciones y, a continuación, volver a cambiar al modelo de recuperación completa de inmediato. A diferencia del modelo de recuperación completa, que registra por completo todas las transacciones, el modelo de recuperación por medio de registros de operaciones masivas registra de forma mínima las operaciones masivas, aunque registra totalmente las demás transacciones. (Vergel Rodríguez, 2010)

Pág. 8

Recuperación en SQL

Universidad Central del Ecuador Facultad de Ciencias Físicas y Matemática Ingeniería Informática 6. DESARROLLO INSERT INTO dep VALUES (50,'ingreso1','Ibarra'); INSERT INTO dep VALUES (60,'ingreso2','Portoviejo'); SELECT * FROM dep /** Simulacion de fallo de la base de datos**/ --Apagamos el servidor SHUTDOWN; GO --borramos el archivo con extension .mdf de nuestra base de datos /** RECUPERACION BASE DE DATOS**/ --Iniciamos el servicio SQL server(SQLEXPRESS) --Intentamos acceder a la base de datos pero nos saldra un error --Verificamos estado de la base de datos SELECT name, state_desc FROM sys.databases WHERE name='EjemploRecuperacion'; GO --Sacamos respaldo con la cola del registro BACKUP LOG EjemploRecuperacion TO DISK = 'C:\BD\EjemploRecuperacion.lbk' WITH INIT, CONTINUE_AFTER_ERROR; GO --Verificamos estado de la base de datos SELECT name, state_desc FROM sys.databases WHERE name='EjemploRecuperacion'; GO --Restauramos el backup completo que se realizo al principio RESTORE DATABASE EjemploRecuperacion FROM DISK = 'C:\respaldos\EjemploRecuperacion.bak' WITH NORECOVERY; GO --Restauramos transacciones realizadas despues del backup realizado y antes del fallo RESTORE LOG EjemploRecuperacion FROM DISK = 'C:\BD\EjemploRecuperacion.lbk' WITH RECOVERY; GO --Verificamos estado de la base de datos SELECT name, state_desc FROM sys.databases WHERE name='EjemploRecuperacion';

Pág. 9

Recuperación en SQL

Universidad Central del Ecuador Facultad de Ciencias Físicas y Matemática Ingeniería Informática GO --Comprobamos que los datos ingresados despues del backup y antes del fallo se hayan recuperado USE EjemploRecuperacion; GO SELECT * FROM dep

7. CONCLUSIONES  La parte activa del registro de transacciones, la parte que todavía no se ha copiado, se conoce como cola del registro. Debería hacer una copia de seguridad de la cola del registro antes de una operación de restauración siempre que sea posible. Así se puede restaurar la información en el punto en que hubo un fallo en la base de datos.  En el modelo de recuperación simple no se pueden realizar copias de seguridad del registro de transacciones. Para restaurar una base de datos en el momento de la última copia de seguridad, restaure primero la última copia de seguridad y a continuación restaure la última copia de seguridad diferencial (si existe alguna) realizada desde la última copia completa. Este modelo de recuperación es adecuado para bases de datos cuya información cambia con muy poca frecuencia.  En el modelo de recuperación completa se pueden realizar copias de seguridad del registro de transacciones. Para restaurar una base de datos en el momento de la última copia de seguridad, primero haga una copia de seguridad de la cola del registro, si es posible. A continuación, restaure la última copia de seguridad completa y después la última copia de seguridad diferencial (si existe alguna) realizada desde la última copia completa. Por último, aplique todas las copias del registro de transacciones que se han realizado, en orden, desde la última copia completa o diferencial. El modelo de recuperación completa permite recuperar la información hasta el punto de fallo y hasta un punto en el tiempo.

 El modelo de recuperación de registro masivo se utiliza para mejorar la eficacia durante operaciones de registro masivo. Este modelo se parece al modelo de recuperación completa en que permite que se recupere la información hasta el punto de fallo (pero sólo si el fallo no se produce durante una operación masiva). A diferencia del modelo de recuperación completa, el modelo de recuperación de registro masivo no permite la recuperación hasta un punto en el tiempo.

Pág. 10

Recuperación en SQL

Universidad Central del Ecuador Facultad de Ciencias Físicas y Matemática Ingeniería Informática 8. BIBLIOGRAFÍA  Pérez López, C. (2010). Domine Microsoft SQL Server 2008. México D.F.  Petkovic, D. (2009). Microsoft SQL Server 2008: manual de referencia. México D.F.: Mc Graw Hill Educación.  Vergel Rodríguez, V. J. (2010). Administración de base de datos con SQL Server 2008.

Pág. 11

Recuperación en SQL