Working with SQL Server sometimes you have to restore your database and sooner or later during the restoration process you can receive the following error message:
Msg 3117, Level 16, State 1, Line 1 The log or differential backup cannot be restored because no files are ready to roll forward. Msg 3013, Level 16, State 1, Line 1 RESTORE LOG is terminating abnormally.
You can face this error message when you are trying to restore a differential database backup.
The log or differential backup cannot be restored because no files are ready to rollforward – Solution
You receive this error message because you haven’t restored SQL Server full backup or it has been restored without the “WITH NORECOVERY” option. All you need to do before restoring a differential backup is to make sure that a full database backup was restored with the “WITH NORECOVERY” option.
Here you can find a simple example of how to restore a differential backup
RESTORE DATABASE AdventureWorks FROM DISK = 'D:\AdventureWorks_Full.bak' WITH NORECOVERY RESTORE DATABASE AdventureWorks FROM DISK = 'D:\AdventureWorks_Diff.bak' WITH RECOVERY
Very useful. Tks a lot.
Thank very helpful
Thank you so much, you really save my whole day of researching why cannot restore differential backup.
Is there a way to restore a differential backup after a restore of the full backup has been restored with “WITH_RECOVERY” option have been performed?
Hello Paolo,
Sorry, but there is no way to do it.
select 1 full backup and differential backup file and restore
suppose you have last full backup of yesterday 12:00AM and differential backups every 15 minuts and you want to restore till 3:00PM then just select 1 full backup of yesterday 12:00AM and all differentials till 3:00PM togather and restore
Done
what if I just want to sync the 2 databases on 2 servers using differential backup? say I have already restored the full backup of my Prod DB into my testing DB on day 1, can I then use the differential backup of my Prod DB to restore it back to my testing DB on day 2? Cause I do not sync the DB using full backup, it’s too large and too slow
Hello Jing,
Thank you for your message.
In this case, we recommend connecting your two servers to SqlBak. You can set up the backup jobs on your Production DB and configure the restore jobs for your Testing DB within the same job settings.
Remember to point out in checkbox that differential backups are also restored as part of this configuration.
If you have any further questions or need assistance, please feel free to reach out.
Best regards,
Oleg
Thanks very helpful was a great tip