Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Este tópico explica como restaurar até o ponto de falha. O tópico é relevante apenas para bases de dados que estão a usar os modelos de recuperação completa ou log em massa.
Para restaurar até o ponto de falha
Faça backup da parte final do log executando a seguinte instrução básica BACKUP:
BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY, NO_TRUNCATE;Restaure um backup completo do banco de dados executando a seguinte instrução básica RESTORE DATABASE:
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;Opcionalmente, restaure um backup de banco de dados diferencial executando a seguinte instrução básica RESTORE DATABASE:
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;Aplique cada log de transações, incluindo o backup de tail-log criado na etapa 1, especificando WITH NORECOVERY na instrução RESTORE LOG:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;Recupere o banco de dados executando a seguinte instrução RESTORE DATABASE:
RESTORE DATABASE <database_name> WITH RECOVERY;
Exemplo
Antes de executar o exemplo, você deve concluir os seguintes preparativos:
O modelo de recuperação padrão do banco de dados
AdventureWorks2025é o modelo de recuperação simples. Como este modelo de recuperação não oferece suporte para a restauração até ao ponto de falha, definaAdventureWorks2025para usar o modelo de recuperação completa executando a seguinte instrução ALTER DATABASE .USE master; GO ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;Crie um backup completo do banco de dados usando a seguinte instrução BACKUP:
BACKUP DATABASE AdventureWorks2022 TO DISK = 'C:\AdventureWorks2022_Data.bck';Crie um backup de log de rotina:
BACKUP LOG AdventureWorks2022 TO DISK = 'C:\AdventureWorks2022_Log.bck';
O exemplo a seguir restaura os backups criados anteriormente, depois de criar um backup de tail-log do banco de dados AdventureWorks2025. (Esta etapa pressupõe que o disco de log possa ser acessado.)
Primeiro, o exemplo cria um backup de tail-log do banco de dados que captura o log ativo e deixa o banco de dados no estado de restauração. Em seguida, o exemplo restaura o backup do banco de dados, aplica o backup de log de rotina criado anteriormente e aplica o backup de tail-log. Finalmente, o exemplo recupera o banco de dados em uma etapa separada.
Observação
O comportamento padrão é recuperar um banco de dados como parte da instrução que restaura o backup final.
/* Example of restoring a to the point of failure */
-- Step 1: Create a tail-log backup by using WITH NORECOVERY.
BACKUP LOG AdventureWorks2022
TO DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 2: Restore the full database backup.
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Data.bck'
WITH NORECOVERY;
GO
-- Step 3: Restore the first transaction log backup.
RESTORE LOG AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 4: Restore the tail-log backup.
RESTORE LOG AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 5: Recover the database.
RESTORE DATABASE AdventureWorks2022
WITH RECOVERY;
GO