Product Review: SQL Object Level Recovery Native

One of the many privileges of being a Friend of Red Gate, is that you have the chance to evaluate the company's products and provide feedback and suggestions. In this post, I provide my review for one of Red Gate's latest tools; SQL Object Level Recovery Native.

SQL Object Level Recovery Native enables you to recover individual database objects from a native SQL Server backup file. Yes, that’s right! You do not have to restore the entire database, but you can just restore individual objects you select when “browsing” the backup files using the tool.

I am sharing the experience I had with using the tool through several screenshots along with explanation of the steps involved in my test case scenario. OK, let's start!

On the first screen by clicking on the “Select backup source” hyperlink, you are presented with a screen where you can select one or more SQL Server native backup files to be included in the backup sources:

On this screen by clicking on the “Add Files” button you can select the SQL Server native backup files for choosing objects to restore from:

In my test case scenario I used the “master” and “bikes” database backup files, as you can see on the next screen. After adding the backup files you want, in the “Available Backups” table you are presented with the backups you can use and which exist within the selected native SQL Server backup files (more than one backup may exist in the backup file as you might have appended more than one within the same backup file).

At this point you have to note that you can only select a single backup at-a-time for restoring objects from. In my example, I chose the bikes backup taken on October 1, 2009:

Then, it is the most important screen of all; selecting the objects for recovery! In this example I selected the “Category” table. On the right of the screen, you are presented with schema and data (where available) previews for each object you focus on. This helps you easily understand what object you are looking for (if you do not know already! :)

So as said, I chose the “Category” table. This screen shows the schema preview for this table:

And this screen shows the data preview for the same table:

At the bottom of the above screen there are two buttons. If you click on the “View Recovery Script” button you will be provided with a generated script which creates a DDL script for the object(s) you selected for recovery and also a DML script for recovering the data contained within the object (in the case the selected object is a table).

If you click on the “Recover Objects” button, you are presented with the following screen. The screen contains the object(s) to be recovered (you can select more than one object), and the necessary fields for specifying the destination database. To this end, you have to complete the SQL Server/Instance name, the authentication method/credentials, and the destination database. In this example I am using an instance of SQL Server 2008 on my localhost named “SQL2008”, windows authentication and I chose to restore the “Category” table into the “SampleDB” database.

When clicking on the “Recover” button, the object recovery process takes place and after it finishes, you are presented with a summary of the process outcome (note: if the specific object already exists on the destination you will get a relevant error message).

OK, it is time to check within SQL Server Management Studio to see if the object exists on the database and it is operational. As you can see on the following screenshot, of course it is! :)

I am quite sure that many times in the life of a DBA or Database Developer, specific objects were needed to be restored from a backup file. SQL Object Level Recovery Native allows recovering individual database objects without needing to restore the entire database backup.

I find this useful and cool!

The SQL Server native backup files supported by the tool are these of SQL Server 2000, 2005 and 2008.

For more information on SQL Object Level Recovery Native please visit this link.

I hope you find this review useful!

Labels: , ,