This page applies to SQL Virtual Restore versions 2.0 and 2.1

Using the SQL Virtual Restore Wizard, you follow each step to create a virtual database from the backup file or files selected.

Viewing the summary on the final step, the wizard checks that the HyperBac Control service is running and is configured correctly for the virtual restore operation.

If the checks are successful, under the Service Configuration, the wizard will confirm that the HyperBac Service is running, HyperBac Extensions are configured correctly and HyperBac VirtualDiskSize setting is configured correctly. The Finish button will become available so that you can start the virtual restore process:

SQL Virtual Restore 2.0

If the disk space available for your compressed database files is less than the space they would have used if uncompressed, SQL Server will report Error 3257 when you attempt the restore:

Msg 3257, Level 16, State 1, Line 1

There is insufficient free space on disk volume '<volume>' to create the database. The database requires <x> additional free bytes, while only <y> bytes are available.

You can prevent this error by adding a parameter to the hyperbac.conf configuration file, as follows:

  1. Open the hyperbac.conf file in a text editor
    hyperbac.conf is located at C:\Program Files\Red Gate\HyperBac\bin by default.
  2. Add the following line at the end of the file:

    VirtualDiskSize=<size in GB>
    Where <size in GB> is the size of the uncompressed database. For example, if you are trying to create a compressed database for which the uncompressed database files would require 100 GB of disk space, add the line:
    VirtualDiskSize=100

    You can set the VirtualDiskSize parameter to whatever value is necessary to accommodate the uncompressed size of the database files, irrespective of how much physical disk space is actually available.

  3. Restart the HyperBac Control Service.

You can now run the restore process again. Provided you have set the VirtualDiskSize parameter to a high enough value, the "insufficient free space" error will not be raised by SQL Server.

Note that the VirtualDiskSize parameter will affect all restore operations you run on this SQL Server. You should therefore edit the hyperbac.conf file to remove the VirtualDiskSize parameter, once you have successfully created your compressed database.

If you leave the VirtualDiskSize parameter in place, this may cause problems with subsequent restore operations, as the reported free space available on the disk volumes will be incorrect.

SQL Virtual Restore 2.1

If the disk space available for your compressed database files is less than the space they would have used if uncompressed, the HyperBac VirtualDiskSize setting check will fail with the message below and the Finish button will not be enabled:

VirtualDiskSize setting required: add the line 'VirtualDiskSize=<value>' to hyperbac.conf

To continue with the virtual restore operation, simply select Auto-configure HyperBac Service for this restore, which will automatically configure the hyperac.conf file. The VirtualDiskSpace parameter will be added with the correct size value for the database before restore operation commences, and the parameter will be removed once the restore operation is complete.

This eliminates the need to manually edit the HyperBac Configuration file, saving you time and accidentally leaving behind the VirtualDiskSize parameter which may cause restore problems in the future.

The virtual restore operation now runs and automatically configures the HyperBac configuration file, setting the VirtualDiskSize parameter. After completing the virtual restore operation, the process removes the VirtualDiskSize parameter from the HyperBac configuration. The virtual restore process displays a dialog box showing the progress of the operation.