Restauraciones de base de datos completas (modelo de recuperación simple)
El objetivo de una restauración completa de la base de datos es restaurar toda la base de datos. Durante el proceso de restauración, la base de datos completa se encuentra sin conexión. Antes de que ninguna parte de la base de datos esté en línea, se recuperan todos los datos a un punto coherente en el que todas las partes de la base de datos se encuentran en el mismo momento y en el que no existe ninguna transacción sin confirmar.
En el modelo de recuperación simple, no se puede restaurar la base de datos a un momento concreto de una copia de seguridad específica.
Importante
Se recomienda no adjuntar ni restaurar bases de datos de orígenes desconocidos o que no sean de confianza. Estas bases de datos podrían contener código malintencionado que podría ejecutar código Transact-SQL no deseado o provocar errores modificando el esquema o la estructura de la base de datos física. Para usar una base de datos desde un origen desconocido o que no sea de confianza, ejecute DBCC CHECKDB en la base de datos de un servidor que no sea de producción y examine también el código, como procedimientos almacenados u otro código definido por el usuario, en la base de datos.
Nota:
Para obtener más información sobre la compatibilidad con las copias de seguridad de versiones anteriores de SQL Server, vea la sección "Soporte de compatibilidad" de RESTORE (Transact-SQL).
Información general de la restauración de la base de datos en el modelo de recuperación simple
Una restauración completa de base de datos con el modelo de recuperación simple implica una o dos instrucciones RESTORE , en función de si desea restaurar una copia de seguridad diferencial de la base de datos. Si solo usa copias de seguridad completas de la base de datos, restaure solo la copia de seguridad más reciente, como se muestra en la siguiente ilustración.
Si también usa una copia de seguridad diferencial de la base de datos, restaure la copia de seguridad completa más reciente de la base de datos sin recuperar la base de datos y, a continuación, restaure la copia de seguridad diferencial más reciente de la base de datos y recupere la base de datos. En la siguiente ilustración se muestra este proceso.
Nota
Si planea restaurar una copia de seguridad de la base de datos en una instancia de servidor distinta, vea Copiar bases de datos con Copias de seguridad y restauración.
Sintaxis RESTORE de Transact-SQL básica
La sintaxis básicade Transact-SQL RESTORE para restaurar una copia de seguridad completa de la base de datos es:
RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]
Nota:
Use WITH NORECOVERY si también desea restaurar una copia de seguridad diferencial de la base de datos.
La sintaxis RESTORE básica para restaurar una copia de seguridad de la base de datos es:
RESTORE DATABASE database_name FROM backup_device WITH RECOVERY
Ejemplo (Transact-SQL)
En el ejemplo siguiente se muestra primero cómo usar la instrucción BACKUP para crear una copia de seguridad completa de la base de datos y una copia de seguridad diferencial de la base de datos AdventureWorks2012 . A continuación, se restauran estas copias de seguridad una después de la otra. La base de datos se restaura a su estado en el momento en que finalizó la copia de seguridad diferencial.
En el ejemplo se muestran las opciones críticas de una secuencia de restauración en un escenario de restauración de base de datos completa. Una secuencia de restauración consta de dos o más operaciones de restauración que mueven datos en una o varias fases de restauración. La sintaxis y los detalles no pertinentes para este propósito se omiten. Al recuperar una base de datos, se recomienda especificar explícitamente la opción RECOVERY por motivos de claridad, aunque es la opción predeterminada.
Nota:
En el ejemplo se comienza con una instrucción ALTER DATABASE que establece el modelo de recuperación en SIMPLE
.
USE master;
--Make sure the database is using the simple recovery model.
ALTER DATABASE AdventureWorks2012 SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks2012 database.
BACKUP DATABASE AdventureWorks2012
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks2012
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FILE=2, RECOVERY;
GO
Related Tasks
Para restaurar una copia de seguridad completa de la base de datos
Restaurar una copia de seguridad de base de datos en el modelo de recuperación simple (Transact-SQL)
Restaurar una copia de seguridad de base de datos (SQL Server Management Studio)
Restaurar una base de datos a una nueva ubicación (SQL Server)
Para restaurar una copia de seguridad diferencial de la base de datos
Para restaurar una copia de seguridad mediante los objetos de administración de SQL Server (SMO)
Consulte también
RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
sp_addumpdevice (Transact-SQL)
Copias de seguridad completas de bases de datos (SQL Server)
Copias de seguridad diferenciales (SQL Server)
Backup Overview (SQL Server)
Información general sobre restauración y recuperación (SQL Server)