Share via


Como restaurar um backup diferencial de banco de dados (Transact-SQL)

Este tópico explica como restaurar um backup diferencial de banco de dados.

Para restaurar um backup diferencial de banco de dados

  1. Execute uma instrução RESTORE DATABASE, especificando a cláusula NORECOVERY, para restaurar o backup de banco de dados completo que vem antes do backup de banco de dados diferencial. Para obter mais informações, consulte Como restaurar um backup completo.

  2. Execute a instrução RESTORE DATABASE para restaurar o backup de banco de dados diferencial, especificando:

    • O nome do banco de dados para o qual o backup de banco de dados diferencial é aplicado.

    • O dispositivo de backup em que o backup de banco de dados diferencial é restaurado.

    • A cláusula NORECOVERY, se você tiver backups de log de transações para aplicar depois de o backup de banco de dados diferencial ser restaurado. Caso contrário, especifique a cláusula RECOVERY.

  3. Com o modelo de recuperação completa ou bulk-logged, a restauração de um backup de banco de dados diferencial restaura o banco de dados até o ponto que o backup de banco de dados diferencial foi concluído. Para recuperar até o ponto da falha, você deve aplicar todos os backups de log de transações criados depois de o último backup de banco de dados diferencial ter sido criado. Para obter mais informações, consulte Como aplicar um backup de log de transações (Transact-SQL).

Exemplo

A. Restaurando um backup de banco de dados e um backup de banco de dados diferencial

Este exemplo restaura um banco de dados e um backup de banco de dados diferencial do banco de dados MyAdvWorks.

-- Assume the database is lost, and restore full database, 
-- specifying the original full database backup and NORECOVERY, 
-- which allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH NORECOVERY
GO
-- Now restore the differential database backup, the second backup on 
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH FILE = 2,
   RECOVERY
GO

B. Restaurando um backup de banco de dados, um backup de banco de dados diferencial e um backup de log de transações

Este exemplo restaura um banco de dados, um backup de banco de dados diferencial e um backup de log de transações do banco de dados MyAdvWorks.

-- Assume the database is lost at this point. Now restore the full 
-- database. Specify the original full database backup and NORECOVERY.
-- NORECOVERY allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH NORECOVERY
GO
-- Now restore the differential database backup, the second backup on 
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH FILE = 2,
   NORECOVERY
GO
-- Now restore each transaction log backup created after
-- the differential database backup.
RESTORE LOG MyAdvWorks
   FROM MyAdvWorks_log1
   WITH NORECOVERY
GO
RESTORE LOG MyAdvWorks
   FROM MyAdvWorks_log2
   WITH RECOVERY
GO