Assume a SQL Server VM being backed up daily on image level and in addion having a log shipping enabled to run each hour.
Now lets say something breaks the database leading to an image level backup with a corrupt DB inside.
Now it would be nice to restore back to an earlier image level backup than the most recent one but still be able to roll-forward the logs to the most recent state.
Seems this is not possible as the SQL Explorer GUI states a restore period of exactly between the image level backup until just before the next image level backup.
From a log perspective I would not have expected any road blocks. They should be sequential and consistent with an older image level backup also.
Besides that: is there a way to grab the raw logs from the VLB?
Hello,
yes, that's an open feature request also for a different use-case: there are customers who like to recover a standby machine to "STANDBY" and then regularly apply logs.
During a discussion with our database admins on likely recovery scenarios, we identified an issue. Currently, it is not possible with Veeam to restore a database to a current state if you want to select an older restore point as a base and then use all existing transaction log backups for a point-in-time restore. However, this is exactly what is needed if the last known consistent state of a database is only available in an older restore point.
There was already a request from me on the topic to Veeam Support under Case # 05441372 where it was confirmed that Veeam does not support this type of restore.
Here are the details.
Example Scenario (applies to Oracle and SQL).
Job Configuration:
- Database server is backed up daily at 7pm image-based/agent-based.
- On Friday a synthetic full backup is performed and on all other days an incremental backup is performed.
- A transaction log backup is also performed every 60 minutes.
Failure Mode:
- A weekly consistency test performed on Sunday at 6 a.m. within the database instance detects an inconsistent database.
Recovery Request:
- Restore the affected database from the last known backup where the database was in a consistent state, plus apply all transaction logs backed up since then to bring the database to the last available state.
I.e. incremental backup from a week ago Saturday at 7pm + all transaction logs that were backed up.
Note: This type of restore is supported by the vendor for both Oracle and SQL.
The Problem:
Veeam, when selecting the restore time point for a point-in-time restore of a previously selected restore point, only supports the times between the previous restore point and the following restore point, if available.
So in the above scenario, about 7 days worth of data would be lost since I can only select a point-in-time based on a backed up consistent database up to a maximum of Sunday 60 minutes before the daily incremental backup.
My feature request
When selecting a restore point in Veeam for an Oracle or SQL database restore, the point-in-time restore should extend the "Available Restore Period" to the most current point in time - which is available via existing transaction log backups.
More granular restore options and a better control around MSSQL Transaction Logs is definitely something that Veeam B&R is still lacking. Let's just hope such features don't remain on the Backlog for much more years adrift.
Thanks for the detailed explanation. I moved your topic to this one.
We are aware of this requests ( see the answer above from my colleagues Hannes).
We count your request as +1.