How SQL Instant Recovery in Veeam B&R v11 works
Instant Recovery is one of Veeam Backup & Replication (VBR) outstanding features. With it you can start your workload directly from your backup repository. For example you can start a VM from backup without recovering it before. New in v11 is the ability to start Microsoft SQL Server Databases (DB) instantly from backup. Previously it was possible to publish DBs, but this was not intended for production, because there was not automation to restore data while accessing published DB. This gap has now been closed. See here how it works
Table of contents
Requirements
To be able to use the feature, you need to operate a supported Microsoft SQL Server version. This server must be backed up using Guest Processing, otherwise, SQL Server will not be detected.
Because of additional network connections during the Instant Recovery process, firewalls must be configured according Veeam used ports requirements:
How it works
See here how it works in a step by step guide.
- To start in Instant SQL Recovery wizard, select your server and choose Restore application items.
Here you choose if you want to restore to the latest available restore point, or select a listed one. At the end of wizard press Browse. Veeam Explorer for Microsoft SQL Server starts.
- Choose the database you want instantly recovered and select to do so. You have these options to choose from:
- Latest restore point.
- Point-in-time state.
- Recover to another server.
- This you can used to recover DB using a different name while original DB is still in place.
In this demo, I selected point-in-time state to show additional options.
- Select point-in-time state you want recover to.
Notice:
- First option recovers to date and time, recovery point was created.
- Second option lets you choose the exact date and time to restore to. As noted, transaction log backup is required here.
- Checking option to restore to a specific transaction, lets you choose a marked transaction. For this, database will be mounted before to show the list of such transactions.
- Select switchover scheduling option. Switchover is when the temporary mount-points for reads and writes (see next point) switches to the final destination folders. This action is not completely online, therefore it is important to know when this happens. In this demo, I selected Manual to show what happens then.
- Now the Instant Recovery process starts! Basically what happens here is:
- DB gets published from backup. This DB is spread across three locations:
- For Reads: Backup repository. This is done by using iSCSI Initiator on SQL Server OS level.
- For Writes: Instant Recovery write cache on Mount server.
- Last but not least: destination folder.
- For Reads: Backup repository. This is done by using iSCSI Initiator on SQL Server OS level.
- DB files are copied to target folder.
- Write cache is periodically synchronized to target folder files.
- DB gets published from backup. This DB is spread across three locations:
- Switchover. With this step temporary mount points – as described above – are consolidated to the target folder. Switchover occurs when it has been defined in Step 4.
Notice: This choice can be changed while DB is published. To do so, click Edit.
So depending of your choice:
- DB switched already over after first synchronization.
- You have to wait for scheduled switchover.
- Trigger manual switchover.
Basically, this is what happens during switchover:
- DB publishing stops.
- Final synchronization from cache to target DB.
- Cleanup DBs, mount points, …
- Start recovered DB.
Behavior
I would like to list some of the software’s behaviors here.
- Veeam Explorer for Microsoft SQL Server is closed. One could gain the impression from the documentation Veeam Explorer does the whole work. This is not the case, if Explorer gets closed, just start it again.
- Mount Server, proxy or repository Server is offline. This is a problem, because these components are necessary for keeping your Instant Recovery database alive. Fortunately Veeam took this into account. So the system checks periodically (every 5 minutes) if needed components are online again and re-establish all connections.
If you fixed the problem before next scheduled retry, you can trigger the retry manually by pressing the Retry button.
- Restoring to original locating with original database still in place. The Explorer wants to have your decision confirmed.
- Veeam VBR Server uses older SQL Server version than source Server. This is generally not a problem. If you want to choose marked transactions to restore to, DB must get mounted temporary. If you have such a version mismatch here, you get a error like this:
[Unable to mount the selected database on the staging server because it has an older version: Microsoft SQL Server 2016.]
To get around this, select another helper SQL Server in Explorer – for example your target SQL Server. To do so, select General Options
and choose a suitable SQL instance. - Canceling Instant Recovery task before switchover, when choosing to overwrite source DB. If you do so, your original DB is gone!
Notes
- Get your trial of Veeam Backup&Replication!
- It is also possible to recovery multiple databases simultaneously. All you need to do is to right-click the instant name or the whole SQL Server to start the process. This can be used when the whole server has gone. Limitation here is that you cannot select marked transactions.
- For more new features and improvements, see my post series about v11.
- Read What’s New for a more comprehensive list of new features in v11.