Como restaurar para um momento determinado (Transact-SQL)
Esse tópico explica como restaurar para um momento determinado.
Para restaurar para um momento determinado
Execute a instrução RESTORE DATABASE usando a opção NORECOVERY.
Observação
Se uma seqüência de restauração parcial excluir qualquer grupo de arquivos FILESTREAM, não haverá suporte para a restauração em um momento determinado. É possível forçar a seqüência de restauração a continuar. Contudo, os grupos de arquivos FILESTREAM que são omitidos da instrução RESTORE nunca poderão ser restaurados. Para forçar uma restauração pontual, especifique a opção CONTINUE_AFTER_ERROR juntamente com a opção STOPAT, STOPATMARK ou STOPBEFOREMARK, que você também deve especificar nas instruções RESTORE LOG subseqüentes. Ao especificar CONTINUE_AFTER_ERROR, a seqüência de restauração parcial terá êxito e o grupo de arquivos FILESTREAM ficará irrecuperável.
Execute a instrução RESTORE LOG para aplicar cada backup de log, especificando:
O nome do banco de dados ao qual o log de transações é aplicado.
O dispositivo de backup onde o backup de log de transações é restaurado.
As opções RECOVERY e STOPAT. Se o backup de log de transações não contiver o tempo solicitado (por exemplo, se o tempo especificado estiver além do tempo coberto pelo log de transações), um aviso será gerado e o banco de dados permanecerá sem recuperação.
Exemplo
O exemplo a seguir restaura um banco de dados para seu estado de 12:00 AM em April 15, 2020 e mostra uma operação de restauração que envolve vários backups de log. No dispositivo de backup, AdventureWorksBackups, o backup de banco de dados completo a ser restaurado é o terceiro conjunto de backup no dispositivo (FILE = 3), o primeiro backup de log é o quarto conjunto de backup (FILE = 4), e o segundo backup de log é o quinto conjunto de backup (FILE = 5).
![]() |
---|
O banco de dados AdventureWorks usa o modelo de recuperação simples. Para permitir backups de log, antes de fazer um backup de banco de dados completo, o banco de dados foi definido para usar o modelo de recuperação completa, usando ALTER DATABASE AdventureWorks SET RECOVERY FULL. |
RESTORE DATABASE AdventureWorks
FROM AdventureWorksBackups
WITH FILE=3, NORECOVERY;
RESTORE LOG AdventureWorks
FROM AdventureWorksBackups
WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE LOG AdventureWorks
FROM AdventureWorksBackups
WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks WITH RECOVERY;
GO
Consulte também