¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. SQL Server 2019
  3. Restauración
Extrait - SQL Server 2019 Aprender a administrar una base de datos transaccional con SQL Server Management Studio
Extractos del libro
SQL Server 2019 Aprender a administrar una base de datos transaccional con SQL Server Management Studio Volver a la página de compra del libro

Restauración

Descripción general del proceso de restauración

La restauración representa la operación inversa de la copia de seguridad. El proceso de restauración no puede utilizarse para realizar migraciones de bases de datos de usuario.

Esta operación puede realizarse con ayuda de los comandos Transact SQL (RESTORE) o mediante la consola de administración SQL Server Management Studio. Sea cual sea la base que se va a restaurar, es indispensable instalar SQL Server para cargar los datos en la máquina.

El simple hecho de reemplazar los archivos que contienen los datos y el diario no constituye en sí mismo una restauración, ya que SQL Server no es capaz de acceder a estos archivos mientras no estén referenciados en la base Master.

1. La restauración automática

Este proceso interviene en cada inicio del servidor. Se asegura de que la última operación inscrita en el diario sea un punto de sincronización. Si no es el caso, entonces el diario se lee de nuevo desde el último punto de sincronización y todas las transacciones validadas se recrean, mientras que el resto de las modificaciones se anulan. Esta operación es necesaria para garantizar la coherencia de los datos.

2. Operaciones ejecutadas automáticamente por SQL Server

SQL Server realiza automáticamente un cierto número de operaciones con el objetivo de acelerar el proceso de restauración y reducir al máximo el tiempo que el servidor no está disponible.

El control de seguridad

El interés principal de este control de seguridad es protegerse de las restauraciones accidentales, que pueden borrar una base actualizada...

Restauración de las copias de seguridad

Según la copia de seguridad efectuada, el método de restauración será ligeramente diferente.

1. La instrucción RESTORE

En modo Transact SQL, la instrucción RESTORE permite recuperar una copia de seguridad hecha con SQL Server.

Ejemplo

En el siguiente ejemplo, se hace una restauración completa de la base GESCOM, a partir de las copias de seguridad presentes en la unidad de copia de seguridad testSQL. La opción WITH REPLACE se indica para confirmar el borrado de la base existente.

USE Master ;  
go 
RESTORE DATABASE GESCOM FROM testSQL WITH FILE = 1, NOUNLOAD, REPLACE, 
STATS = 5 
GO 

El comando RESTORE se debe lanzar siempre desde la base Master.

Para restaurar el diario de transacciones, es necesario utilizar la instrucción RESTORE LOG, que tiene una configuración similar a RESTORE DATABASE.

En una base de datos dañada, la restauración permite encontrar un conjunto coherente de datos. La etapa de restauración se encarga de recrear automáticamente los archivos y los objetos de la base de datos, sin que para esto sea necesario eliminar la base de datos con anterioridad.

2. Las opciones de la instrucción RESTORE

Existen numerosas opciones sobre la instrucción RESTORE, algunas de las cuales se detallan aquí.

Inicialmente, cuando la restauración utiliza varias copias de seguridad (una completa seguida de una diferencial y por último la de los diarios de transacciones), es importante que SQL Server no permita el acceso a la base de datos a los usuarios mientras no se haya efectuado la última restauración. Para esto, la instrucción RESTORE ofrece las opciones RECOVERY y NORECOVERY.

RECOVERY

Es la opción que SQL Server utiliza por defecto. Con esta opción, al final de la restauración, SQL Server revisa el diario de transacciones para anular todas las transacciones no validadas desde el último punto de sincronización y confirmar todas las validadas. Una vez que estas operaciones terminan, la base es accesible por los usuarios.

NORECOVERY

Esta opción debe especificarse para todas las etapas de la restauración excepto la última. SQL Server no toca el diario de transacciones y la base de datos no puede ser utilizada.

FILE

Esta opción se utiliza únicamente cuando el archivo de copia...

Ejercicio: descargar y restaurar la base de ejemplo AdventureWorks

1. Enunciado

Descargar la base de datos de ejemplo AdventureWorks desde el sitio web de Microsoft.

Restaurar esta base de datos en la instancia por defecto.

2. Corrección

La base de datos está disponible en esta dirección en el momento de escribir este libro: https://docs.microsoft.com/en-us/sql/samples/adventureworks-install-configure?view=sql-server-ver15

Si esta dirección ha dejado de existir, el sitio de descarga se encontraría fácilmente con un motor de búsqueda.

La base de datos OLTP AdventureWorks existe en varias versiones. La última es Adventure-Works2019 y se ofrece en un archivo .bak.

Durante la restauración, puede que las carpetas fuente de la base de datos no existan en su servidor. Por lo tanto, habrá que utilizar la opción MOVE…TO :

restore database adventureworks2019  
from disk='c:\tp\adventureworks2019.bak'   
with move 'AdventureWorks2019' to 'c:\tp\AdventureWorks2019.mdf',  
    move 'AdventureWorks2019_log' to 'c:\tp\AdventureWorks2019.ldf'