ApexSQL Restore evaluation guide for first time users

Applies to
ApexSQL Restore

This article envelops all of the most important topics and knowledge related to ApexSQL Restore and provides brief descriptions and links to core ApexSQL Restore articles for each separate topic.


ApexSQL Restore is a SQL Server tool that attaches both native and natively compressed SQL database backups and transaction log backups as live databases. It allows attaching of multiple full, differential, and transaction log backups, as well as mounting backup sets to a specific point in time, making it ideal for quickly reverting inadvertent or malicious changes. More ApexSQL Restore general knowledge can be found in the ApexSQL Restore – Introduction article.

One of the most common scenarios when ApexSQL Restore is useful is when recovering from inadvertent or malicious changes, where it can be used to attach the backup set, which contains the original data. The process will be faster than a full physical restore, the attached database will take less space, and still enable the retrieving of original data from it. ApexSQL Restore is commonly used to verify backups, performance tune production databases, provide concurrent database access in test and development environments, and many more scenarios that are described in the article When to use ApexSQL Restore.

In order to attach a backup, ApexSQL Restore requires both windows administrator permission and CREATE DATABASE or belong to the sysadmin or dbcreator fixed SQL Server roles. Detailed permissions and software and hardware requirements of ApexSQL Restore are described in the ApexSQL Restore – Permissions and requirements  article.

For ApexSQL Restore to be able to perform well, it utilizes the ApexSQL Restore service, which encapsulates the backup restoring capabilities of the SQL Server itself using proprietary algorithms to significantly reduce the physical size of the restored backup up makes the restore process significantly faster. The ApexSQL Restore service has a minimal impact on the overall system performance, making ApexSQL Restore ideal to use in scenarios where system performances are highly encumbered. ApexSQL Restore mechanisms are described in the How does ApexSQL Restore work article.

The process of attaching a full database backup is performed via a wizard, described in the article How to attach a full database backup using ApexSQL Restore. After the backup has been restored, the data and objects stored in an attached backup set can be manipulated just as if they were stored in a live database (i.e. can be read, changed and even deleted). Any changes made will not be preserved in the ‘old’ backup set itself and new backup has to be created for this purpose. Additional advice on enhancing the process of database attaching is offered in the article How to use ApexSQL Restore

In addition to attaching a local database backup set, ApexSQL Restore can use a remotely stored database backup as a source and attach it to a local SQL server instance. This process is described in detail in the How to restore a database backup from a network path article.

Besides working with databases via the GUI, ApexSQL Restore fully supports the Command Line Interface (CLI). The CLI is automatically installed along with the GUI and supports all features available in the GUI. Additionally, the CLI can be used to schedule restoration jobs by utilizing SQL Server jobs or Windows Scheduler. A full list of the ApexSQL Restore CLI commands, as well as some basic examples, are described in the article Using ApexSQL Restore Command Line Interface.