ApexSQL disaster recovery video series – Restore only specific tables from a SQL Server database backup

This video provides a quick guide on how to recover (extract) only specific tables from a database backup using ApexSQL Recover, a SQL Server recovery tool, without restoring the backup to the SQL Server. For more information, please visit ApexSQL Recover page.


Hello, and welcome to another video in ApexSQL disaster recovery series. In this video we are going to explain and showcase two approaches that enable users to extract table structure and data information directly from a database backup without performing a native restore of the database backup on the SQL Server, which greatly reduces resources and time invested when extracting information on specific tables. First, we are going to show you how to extract the table information using ApexSQL Recover, a SQL Server recovery tool designed to perform various recovery jobs, including extraction from a database backup, recovery of deleted or truncated data, recovery of dropped table structure and data, as well as recovery of BLOB values. The second solution utilizes different tool, ApexSQL Restore which enables users to virtually attach database backup to a local SQL Server instance and have a complete insight into the backups, as it was restored natively, while ensuring that only a fraction of disk space has been used in comparison to native restore, and that the job is achieved in much smaller timeframe, but more on this later. Let’s first focus on extracting the table information with ApexSQL Recover.

Once ApexSQL Recover is started, let’s initiate the extraction wizard by selecting the “Extract data from backup” option in the main application ribbon. Next, click on the ‘Add file’ button, navigate to the database backup location, and select the backup file we will look into and click on the “Open” button. In case that we need to look into additional backup files, including both full and differential backups, simply repeat the process to add all desired sources. Once this has been completed, check backup files that will be used in the process and click on the “Next” button

In the next step of the wizard, locate specific tables that we are extracting. Both schema and table name filters can be used to easier locate specific tables. Ensure desired tables are checked, and uncheck all other tables before clicking on the “Next” button. The following step of the wizard allows users to choose a recovery output. Users can decide between extracting table information directly to a new database, or into a SQL script – we will opt for the extraction to SQL script for the purpose of this demo. Finally, in the last step of the wizard, users can choose between extracting table structure only, extracting only table data, or extracting both at once, which we will opt to do for this demonstration.

After several moments, ApexSQL Recover will complete the processing and the extraction will be completed. The final screen shows the extraction results with the number of objects as well as the number of table rows. From here, we can view generated script directly in the internal script editor or other editor such is SQL Server Management Studio, depending on which one is specified as a default editor in the application options. Once we have accessed the script, we can inspect it for all extracted information, make any changes and finally apply it against a target database of our choice to create and populate our tables which we can then change, alter, query, use for recovery purposes and more.

Thanks for watching. For more information, go to apexsql.com