Backup Differential não pode ser restaurado porque não há arquivos prontos para reversão – SQL Server

Esta mensagem ocorre quando você tenta restaurar um backup diferencial utilizando o SQL Server 2005 – 2012.

“System.Data.SqlClient.SqlError: The log or differential backup cannot be restored because no files are ready to rollforward. (Microsoft.SqlServer.Smo)”.

Este erro está dizendo que não há nenhuma base de dados no modo no-operational (não-operacional), e, portanto, não foi feita de tal forma que as transações não comitadas (confirmadas) não fossem revertidas. Quando você restaura um backup no modo RESTORE WITH RECOVERY (padrão), indica que o roll forward deve ser realizado somente enquanto o backup FULL for restaurado, ou seja, quando o restore for finalizado nenhum arquivo de LOG ou Differential poderá ser restaurado, pois o arquivo de LOG estará truncado. Ao realizar o restore no modo RESTORE WITH NORECOVERY, após o final do restore do backup FULL o roll forward não será finalizado, assim deixando os arquivos de LOG “abertos” para que mais arquivos de LOG sejam restaurados.

A maneira mais fácil de reproduzir este erro é realizando um backup FULL da sua base de dados, e em seguida restaura-lá com a opção RESTORE WITH RECOVERY. Logo em seguida faça um backup Differential da mesma base de dados e tente restaurar o backup no modo RESTORE WITH RECOVERY. Ao realizar o backup ele irá retornar esta mensagem de erro:

msg_error

Para realizar o restore do Backup Differential da maneira correta, antes você precisa restaurar o backup FULL com a opção WITH NORECOVERY (este é o passo mais importante!):

step02

Após o restore verifique se o database está com o status “RESTORING”:

Use Master
GO
SELECT
	Name, State_Desc
FROM
	sys.databases
WHERE
	Name = N'DBTeste1'

step04

Se ele estiver com o status RESTORING, faça o restore do backup Differential com a opção WITH RECOVERY:

step01

E assim o Backup Differential será restaurado.

É importante e primordial lembrar-se que antes de restaurar um backup Differential ou de Log é preciso restaurar o backup Full da maneira correta para evitar esta mensagem de erro e refazer todo o processo do restore.

É isso aí!

One thought on “Backup Differential não pode ser restaurado porque não há arquivos prontos para reversão – SQL Server

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s