Welcome to this introduction to ApexSQL Recover. ApexSQL Recover is an invaluable tool when it comes to recovering from a data disaster, such as a dropped table, especially when there are no backups available. ApexSQL Recover has two types of functions-- data recovery and data extraction. ApexSQL Recover allows you to recover lost data, recover data from detached database files, extract or recover BLOBs from your database as files, and extract data from backups without having to restore it.
First, I will demonstrate how to recover a table that has been dropped. In SQL Server Management Studio, I will drop the AdventureWorks Person.Person phone table. As you can see, the Person.Person phone table is no longer there. Now we will recover it by using ApexSQL Recover.
Launch ApexSQL Recover. Select the option under Data Recovery, Recover Lost Data Due to a Dropped Table operation. Connect to the database in which the table was dropped-- in this case, AdventureWorks 2012. Then, click Next. You will be presented with three options regarding additional data sources.
The first option is Help Me Decide. If you select this option, ApexSQL Recover will lead you through a series of questions which will help you to figure out which option to use. Based on the answers you provide, it will choose for you. The second option is Add Transaction Logs. Use this option if you have log backups or detached log files for this database. If you have any, you should add them, since this will increase your chances of a successful recovery. And option three is No Additional Transaction Logs Are Available. Choose this option if you know that you don't have any backups, or that the online log has been truncated.
Let's select option three. Next, you can decide in which format to recover. You either recover to a script file or to a new database. Let's first recover to script.
Next, you can select what to recover. You can recover both the table structures and data, recover only the table structures, or recover only the data. We are going to recover both the table structures and data. ApexSQL Recover will actually find all objects which have been dropped and recover all dropped objects. Click on the View Script button to view the script. You have the option to save it or to open it with an editor of your choice.
As you can see, the Person.Person phone table is there. Next, I will show you how to extract some data from a backup without having to restore it. On the main screen, select the option from Database Backup. At the backup, you want to use to Recover From. Browse to the backup you want to use, then click Next. Deselect all.
You can filter the list by object name by typing the filter criteria here. Select the table or tables you want to extract, and then click Next. Select your recovery option. This time, we will recover to a new database. And then, click Next. Select whether to recover the structure and the data or only the structure. Let's get both the structure and the data.
As you can see, 16,624 rows were recovered if we look at SQL server, we can see that ApexSQL Recover created the database specified on the recovery action step, which now contains the Person.Person phone table. We can do Select on this table to see how ApexSQL Recover extracted the entire table without having to wait for hours for a backup to restore. Thank you for watching this video.