If you happen to work for a large company you are probably used to have the luxury of having a dedicated development environment (DEV), another one for user-acceptance testing (UAT), and then, of course, the production environment (PROD). Many times the company has even a policy in place that at least the UAT and the PROD environment have to be identical in terms of hardware. Budget is of course important, but it is probably not such a constraining factor. Especially not when the business users also see the advantage as well.
Smaller shops on the other side may not have the budget to provide such separated environments, but they surely have the same needs and requirements. But how do you provide a dedicated UAT environment when you do not have the hardware and/or the disk space?
Also, it is not really unusual to find these days SQL Server databases beyond 1 TB and more in size. In fact, a 1 TB database is not even considered particularly large any more. But how do you handle a UAT environment that should closely resemble the production environment for such large databases? Furthermore, in our UAT environment users frequently ask for having their own dedicated sandbox environment when they want to try this or test that and are reluctant to do this in the production environment. These users also frequently ask for having their sandbox environment synchronised to production, so that they can work on production-like data. Running such an environment is challenging in terms of managing available disk space, and time-consuming in terms of having to wait for a synchronisation to be completed.
So, naturally is a tool that promises both help you save hardware resources and cut down the time until an environment or a database is ready to be used certainly worth having a closer look at.
Red Gate SQL Virtual Restore
Red Gates’ SQL Virtual Restore is such a tool that allows you to turn a backup of a SQL Server database into a fully functional and operational database. To repeat that, it means you can make your database backup available to your users and derive even more value off the backup than “just sitting on the file system and consuming disk space”.
System requirements, Installation, and supported SQL Server versions
There are no special hardware requirements for running SQL Virtual Restore. It runs as a Windows service on the same computer that is running SQL Server and that will host the virtually restored database. Any computer meeting the minimum hardware requirements for running SQL Server will suffice. For a detailed description on what these requirements are, refer to the hardware and software requirements pertaining to the SQL Server version you want to support.
SQL Virtual Restore supports any version of SQL Server starting with SQL Server 2000 SP 3 and any edition from Standard Edition upwards. Likewise it runs on any Windows version starting with Windows 2000 SP 4 that is able to run the particular SQL Server version.
SQL Virtual Restore supports full, differential and transaction log backups created either natively by SQL Server, Red Gate SQL Backup Pro (starting with version 6.xx), and SQL HyperBac. Encrypted Red Gate SQL Backup Pro backups have to be decrypted first in the current version, but thanks to some “insider” information from the nice guys at Red Gate, the very next version of SQL Virtual Restore will add support for encrypted backups from SQL Backup. This version is scheduled to be released in November 2010, so chances are that when you read this, this version is already available. For all other backup types decryption is supported as well.
You can download a fully functional 14-day trial version of SQL Virtual Restore from its’ product homepage. It is just a couple of MB in size and, depending on your internet connection, the download takes only a few moments to complete. The installation itself is completely wizard-driven and is as straight-forward and unspectacular as a software installation should be.
Getting started with SQL Virtual Restore
If you expect SQL Virtual Restore to be a “full-blown” application like maybe some other Red Gate tools, you might be a little bit disappointed when you start the tool for the first time.
SQL Virtual Restore is “just” a wizard. It serves only one purpose and that is to make a SQL Server database backup functionally available and ready-to-use.
As you can see from the above screenshot, the wizard consists of 4 pages. On the first page you specify the SQL Server instance to connect to. This will be the instance onto which the backup is virtually restored to. Since SQL Virtual Restore has to be installed on the same computer as SQL Server, you will only see the instance(s) of SQL Server that are local to this server. So, since in our case we only have the default instance installed, so there is nothing to select from in the dropdown box.
Next thing you do is to select the backup file(s) that shall be virtually restored. To do so, just click on the “Add files” button. You have several choices here (taken from the SQL Virtual Restore help file):
- A single, full backup file (SQL HyperBac format, SQL Backup format, or native SQL Server format)
- Multiple backup files that comprise a single full backup
- A full backup, differential backup, and (optionally) transaction log backup files
In our case we will virtually restore the AdventureWorks 2008 sample database. For that we pick a compressed full-backup that was previously taken with Red Gate SQL Backup 6.