There are many affordable third-party tools available to assist you with SQL Server database backup and recovery operations. A new entry into the market is Acronis Recovery for MS SQL Server. Although Acronis Recovery is Acronis' first product dedicated to SQL Server, the company has a great deal of experience in the enterprise backup and recovery market. Let's explore Acronis Recovery's features and functionality and see if it's a worthy competitor in the crowded SQL Server backup and recovery market.
Installing Acronis Recovery is straightforward and can even be scripted. The product includes a management tool, Acronis Recovery for MS SQL Server Management Console, which can be installed on the server itself or on another server to allow for remote management, as well as an agent that must be deployed to each server that contains a SQL Server instance that will be managed by Acronis Recovery. After the agent has been installed, two services, Acronis Remote Agent and Acronis Scheduler2, reside on the server. By default, Acronis Remote Agent runs under NT AUTHORITY\NetworkService and Acronis Scheduler2 runs under the Local System account, which could present a security risk in some environments because Acronis Recovery lets OS-level scripts run. It would be nice if Acronis Recovery included the functionality to customize these services to be more secure out of the box.
Acronis Recovery integrates with SQL Server through standard Microsoft APIs, such as the Virtual Device Interface (VDI) for making proper SQL Server backups and ODBC for application connectivity. For those of you with failover clusters, it's important to note that Acronis Recovery isn't cluster aware, so this product might not be the right choice for you. However, you can install and use Acronis Recovery on a clustered instance of SQL Server.
You can use one of Acronis Recovery's wizards to migrate your existing maintenance plans from SQL Server. However, the migration wizard doesn't migrate SQL Server Agent jobs; if you use that tool for backup, you'll have to recreate your backups in Acronis Recovery.
When it comes to features, Acronis Recovery is loaded. It provides the ability to compress and encrypt backups, clean up old backups, and run OS-level scripts before and after backup or restore operations. The product also includes wizards that can help you create backup strategies and assist with recovery/restoration operations. Other Acronis Recovery features include scheduled restores, a software development kit for developer integration, and a wizard that can help you develop a disaster recovery plan–a real benefit for small-to-midsized businesses (SMBs).
Figure 1 shows the main screen of Acronis Recovery's management console. The options are self-explanatory, and overall, the product's wizards are easy and intuitive to use. However, Acronis Recovery doesn't include a command-line interface or a way to integrate directly with SQL Server via T-SQL (which most of its competitors provide as a standard feature). So if you're more of a scripting DBA, Acronis Recovery poses challenges for you in its current version. Acronis needs to address this limitation in future versions because many DBAs prefer to write scripts and use SQL Server Agent jobs to perform certain tasks.
Backups and Restores
Acronis Recovery supports all of the standard SQL Server backup types (i.e., full, differential, file groups, transaction log). In addition to backing up SQL Server databases to disk, Acronis Recovery lets you back up data to tapes, tape libraries, Acronis Backup Server, and network shares. The product also includes the Set Rolling Snapshots option, which creates snapshots automatically.
Compression ratios for Acronis Recovery backup files and backup speed are similar to other SQL Server backup products. Acronis Recovery provides five levels of compression, and backups can be encrypted up to Advanced Encryption Standard (AES) 256. You can also change the backup priority to ensure that Acronis Recovery will have little to no affect on other processes running on your SQL Server. Although Acronis Recovery's backup functionality worked flawlessly, the biggest problem with this version of the product is that there's no way to customize the name of the backup files that are generated. The default backup filename is fairly cryptic (e.g., 2008_02_23_18_08_17_343S.TIB). Being able to customize the backup name is a requirement for many organizations.
I really like that Acronis Recovery lets you schedule restores, a feature that's missing from other backup utilities. Because backups can be copied to network locations, they can be used by multiple SQL Server instances. Scheduling periodic restores is important if you're looking to perform such tasks to refresh a development environment with new versions of production data. However, I wish Acronis had implemented this feature differently. Because each backup has a unique name, you can’t rely on a consistent backup filename unless you rename the file outside of Acronis Recovery. At that point, you might as well restore the database manually each time a full backup is made.
Despite the potential security risk I mentioned earlier, the ability to run OS-level commands before and after backup or restore operations is nice, especially if non-DBAs want to perform scriptable tasks such as an application upgrade. It would be nice if future versions of Acronis Recovery integrated directly with SQL Server to provide the ability run T-SQL scripts and OS scripts.
Acronis Recovery doesn't offer a tool to convert its backups to standard SQL Server backups, unlike many of its competitors' products that have their own backup file formats. The use of a proprietary backup file format shouldn't be a problem as long as the product is supported in your environment; however, that means that Acronis Recovery must to be installed wherever you want to restore the backup, including in development environments. In addition, having a proprietary backup file format could cause problems in the future if no one has access to the Acronis Recovery installation and you need to restore a database.
I was disappointed to find that Acronis Recovery was often sluggish. I tested the product in both virtual and physical environments, as well as on standalone and clustered implementations of SQL Server; however, performance remained the same. In addition, I found that managing backups on multiple SQL Server instances might prove to be challenging in large enterprises with hundreds or thousands of SQL Server instances because Acronis Recovery's management console doesn't provide a treeview for drilling into multiple instances at once. Instead, you must connect to each SQL Server instance individually.
Despite its shortcomings, Acronis Recovery is a solid first release from an established backup and recovery vendor. However, as I mentioned throughout the article, Acronis needs to do more to put this product on par with its competitors' products. For SMBs that don't like to use SQL Server Management Studio to perform backups or have many inexperienced DBAs on their staff, Acronis Recovery is a good candidate, especially if you already use Acronis products in your organization. Although HyperBac's HyperBac for SQL Server would still be my choice for backing up and restoring SQL Server databases because it integrates seamlessly with SQL Server (despite its lack of a GUI), Acronis Recovery is certainly worth a look if you're in the market for a new backup utility.
Acronis Recovery for MS SQL Server