Friday, November 6, 2009

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! :)



Remarks
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!
[Ads]
Check out my latest eBook on SQL Server:
Tuning SQL Server - Ebook

Easily secure your SQL Server instances! Try out DBA Security Advisor!
DBA Security Advisor for SQL Server by SQLArtBits
DBA Security Advisor was developed by SQLArtBits. The tool was being carefully developed for an entire year and it contains comprehensive security checks and recommendations based on proven SQL Server security best practices. Feel free to download and use the Community Edition which is free and if you find it useful, you can consider upgrading to the Enterprise Edition!

Artemakis Artemiou [MVP]

Author & Editor

Artemakis Artemiou is a Senior SQL Server Architect, Software Developer and Microsoft Data Platform MVP. He is also an author, regular blogger, president of Cyprus.NET User Group and CY Country leader of INETA-EU. He is also the creator of DBA Security Advisor and In-Memory OLTP Simulator. Artemakis is a frequent guest author of worldwide well-respected online journals where he writes articles focusing on many SQL Server topics.

Reference: The SQL Server and .NET Hub (http://www.sqlnethub.com)

3 comments:

Omair Aleem said...

Hi,

I stumbled upon your article while searching for object level recovery using SQL backup 6. I'm trying to do this on a test server, but on the screen which you mention is the most important one where we pick the "actual" recovery objects, its been "parsing backup file" for the past half hour and is still on 15%. I understand my backup file is 20 gigs, but I thought the parse would be faster than that.

Thanks

Artemakis Artemiou [MVP] said...

Hi Omair,

Thank you for your comment.

Unfortunately I haven't tried the software with such a large backup file yet, so I cannot say for sure about the time that it takes to "parse" the backup file.

I would recommend contacting Red Gate's support center for this query: http://www.red-gate.com/supportcenter/

Regards,
Artemis

marysummer said...

SQL Object Level Recovery Native is very interesting post. thanks for sharing.