ApexSQL Backup is a powerful yet simple tool for Microsoft SQL Server which represents a fully equipped command center for database backup and restore jobs management. It enables users to create and schedule backup related jobs (backup, restore, log shipping, index defragmentation…) and monitor all scheduled backup activities or overview complete backup history on multiple servers across the domain.
ApexSQL Backup is designed to create and work with native Microsoft SQL Server backups and databases, and supports all backup options which can be used in the SQL Server Management Studio and encompasses them in a simple and user friendly UI which revolves around simple wizards for each particular job.
In addition to improvements to already existing native features, ApexSQL Backup offers some unique functionalities that make a backup jobs creation and scheduling a fun and easy tasks. ApexSQL Backup users can create specific policies which include complete information and configuration of backup jobs as well as the scheduling setup, and then apply them to different databases across multiple SQL Servers, both local and remote. This enables fast implementation of full, differential or transaction log backup jobs for many databases at once. Furthermore, multiple policies can be applied to the same database, which means that after creating and fine-tuning the backup policies, they can be applied to all applicable databases with just few clicks.
ApexSQL Backup components
ApexSQL Backup is composed of three components:
- GUI – an interface for job scheduling, manipulation and execution. It contains ApexSQL Backup service which communicates with all remote Agents
- Agent – a simple component (service) which allows ApexSQL Manage to audit SQL Servers on the local system by allowing communication
- Central repository database – stores information and configuration data, very small database since the information stored in it is minimal
One central repository database can be used to store data for unlimited number of SQL Servers (connected to multiple ApexSQL Backups agents), as well as multiple GUI all over the network – which allows multiple users to create and execute backup/restore jobs across all servers in the domain.
How does it work
As mentioned before, to use ApexSQL Backup, one needs to install ApexSQL GUI on the workstation which will be used to work with the tool and configure/monitor all jobs. ApexSQL Backup central repository database can be installed on any accessible SQL Server, and ApexSQL Backup Agent must be installed on the machine which hosts SQL Server you want to manage with ApexSQL Backup.
Note: ApexSQL Backup Agent can be installed from the installer file, or directly from the application GUI when connecting to the SQL Server which you will work with.
After installing all ApexSQL Backup components, the only remaining task is to add SQL Servers you want to manage from the main GUI form. Simply click on the Add button in the left pane and provide connection information in the Add SQL Server dialog.
Once the server is added, maintenance tasks implementation can be started since there are no additional configuration requirements.
Maintenance tasks with ApexSQL Backup
As mentioned before, ApexSQL Backup is based on simple step by step wizards which are designed to quickly guide the user through the task creation and help them create the most appropriate jobs with just a few clicks, while enabling those with more complex tasks to create specific backup jobs with many customizable options. Here is how:
While the main ribbon offers variety of maintenance tasks, we’ll choose a Backup job for this example, but keep in mind that all other jobs have similar wizards for the job and scheduling with small differences to accommodate job-specific options and features.
So, after selecting the backup job from the main ribbon, the backup creation wizard starts and the first requirement is to choose one or more databases to backup, choose a backup type as well as whether to backup the database itself, or to create backups of files/filegroups.
The next step allows you to customize naming policy by utilizing various wildcards or by typing a specific name for the backup file.
In addition to the naming policy, destination and mirror paths should be specified, and the user has an opportunity to specify some output options.
ApexSQL Backup offers various options for all supported maintenance tasks, and all related to the backup job can be configured in the following step of the wizard. The user can specify backup file information, choose verification, compression and encryption settings and fine-tune the backup creation.
In the final step of the wizard, users can specify execution schedule(s) for the backup task, ranging for immediate execution, manual execution to unattended, fully automated execution regular basis. Once the scheduling is completed, the wizard can be finished, and task is immediately added to the schedules view which shows information on all existing schedules.
In the same manner, once the scheduled job has been executed, it will be shown in the activities view, regardless of the job status, full information will be shown even for the jobs that have failed due to some (un)expected reasons
For more information and details on scheduling backup jobs, you can check out this article.
In addition to previously mentioned views, there is a third view – Backup history – which allows users to check and track all existing backups on the database backups. This includes all existing backups created for the specific database – even those created without ApexSQL Backup, and even before ApexSQL Backup and Agent were installed. While this overview allows users to historically see all existing backups, it also allows them to restore selected database or it’s files/filegroups to a specific point in time – simply select the backup file from the list and choose the appropriate restore option.
Aside from the Backup maintenance task, other jobs can be scheduled through similar wizards and appropriate jobs will be automatically added to the Schedules and Activity panes.
Restore backups – schedule and execute database restore, file/filegroups restore, or point in time restore.
Ship logs – schedule and execute a combination of backup and restore jobs to create a solution that provides disaster recovery protection at the database level and for off-site reporting – see more in this article.
Cleanup history – schedule a cleanup of msdb database to remove the backup/restore information history from the msdb database.
Rebuild & reorganize indexes – schedule and index maintenance tasks to diminish index fragmentation and increase database performance.
Execute SQL Scripts – pretty much self-explanatory – schedule an execution of T-SQL script file or T-SQL command on the server.
Another convenience of ApexSQL Backup is the ability to notify user(s) upon task completion. In addition to storing the information and displaying it in the Activities view, all jobs can be configured to trigger a notification email to specified email addresses when the job is successfully executed, or a failure has occurred. This is typically configured in the last step of the wizard on each maintenance task.
For all those that prefer to work via command line interface, ApexSQL Backup fully supports CLI, and all GUI functionalities can be achieved by the usage of appropriate switches in the cmd.
Reference: Pinal Dave (https://blog.sqlauthority.com)