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 base de datos.
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.
El proceso de restauración puede intervenir en dos casos:
-
Tras una solicitud explícita por parte de un usuario.
-
Tras un reinicio del servidor provocado por una parada repentina. Hablaremos entonces de restauración automática.
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...
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.
Sintaxis
RESTORE DATABASE {nombre_base |@var_nombre_base }
[FROM dispositivo_de_copia de seguridad [,...n ] ]
[WITH
[{CHECKSUM | NO_CHECKSUM }]
[[,] { CONTINUE_AFTER_ERROR | STOP_ON_ERROR } ]
[[,] FILE = número_archivo]
[[,] KEEP_REPLICATION]
[[,] MEDIANAME = nombre_soporte]
[[,] MEDIAPASSWORD = contraseña_media]
[[,] MOVE 'nombre_lógico' TO 'nombre_físico'] [,...n]
[[,] PASSWORD = contraseña]
[[,] PARCIAL]
[[,] {RECOVERY|NORECOVERY|STANDBY = nombre_archivo_anulación}]
[[,] REPLACE]
[[,] RESTRICTED_USER]
[[,] {REWIND|NOREWIND}]
[[,] STATS [ = porcentaje]]
[[,] {STOPAT = fecha_hora |
STOPATMARK = {'marca'|'lsn:número_lsn' }
[ AFTER fecha_hora] |
STOPBEFOREMARK = { 'marca' | 'lsn:número_lsn' }
[ AFTER fecha_hora]}]
[[,] {UNLOAD|NOUNLOAD}]
]
[;]
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.
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...
Servidor de seguridad
Un servidor de seguridad presenta una doble ventaja. Para empezar, ofrece una garantía frente a la solución de problemas extremadamente rápida en caso de error del servidor principal, minimizando la pérdida de los datos. Además, el servidor de seguridad se alimenta de las copias de seguridad realizadas sobre el servidor principal, lo que permite validar todas las copias de seguridad, y esto es un punto importante. Como contrapartida, el servidor de seguridad representa una inversión elevada, ya que esta máquina no puede servir para un entorno de explotación si deseamos obtener una solución de reemplazo que se pueda establecer rápidamente.
1. Instalación del servidor de seguridad
El servidor de seguridad es un segundo servidor SQL que contiene una imagen en espejo del servidor de producción. El servidor de seguridad puede utilizarse en modo de solo lectura para reducir la carga de trabajo del servidor de producción o bien para sustituir al servidor de producción cuando este último esté dañado. El servidor de seguridad también puede utilizarse para ejecutar instrucciones DBCC, lo que permite verificar la coherencia de la base sin añadir una carga de trabajo adicional en el servidor de producción.
En primer lugar, es necesario restaurar una copia de seguridad de todas las bases del servidor de producción. Si los directorios son diferentes, es preciso utilizar la opción MOVE TO del comando RESTORE para cargar la ruta de los archivos de la base.
Todas las restauraciones deben tener la opción NORECOVERY o STANDBY. Esta última opción se detalla...