Restore of database too large for the volume

cschwingecschwinge Posts: 3
edited June 24, 2011 9:37AM in SQL HyperBac 5
Hello,

I'm trying to restore a database that is too large for the volume, and am getting an error:

Msg 3257, Level 16, State 0, Line 1
There is insufficient free space on disk volume 'I:\' to create the database. The database requires 225443840000 additional free bytes, while only 161451290624 bytes are available.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

After reasing the forums, I tried using the following line to the hyperbac.conf file and restarting the Hyperbac control service, but I get the same error.

VirtualDiskSize=325

Using windows 2000, sql server 2000 (8.00.2039). I even upgraded Hyperbac to the latest available version, so I've had this problem in 5.0.22 and in 5.2.9

When this compressed database was created, it was not too large for the volume, so I don't know if this has ever worked.

Any ideas?

Thanks in advance
-Claus

Comments

  • Eddie DEddie D Posts: 1,667 Rose Gold 5
    Thank you for your post into the forum.

    Are you restoring this backup file to overwrite an existing database? Or creating a new database?

    The fact that you are restoring from a compressed backup file, the data held in the backup file is uncompressed as it is written to the disk to restore the database.

    Basically you do not have sufficient free disk space to complete the restore process.

    The VirtualDiskSize parameter which can be added to the config file will only help if you are restoring the backup file to create a virtual database using SQL Virtual Restore or compressed database using SQL Storage Compress. As the parameter is used to fool SQL Server into believing there is sufficient disk to complete the restore.

    Many Thanks
    Eddie
    Eddie Davis
    Product Support Engineer
    Redgate Software Ltd
    Email: [email protected]
  • I am using Storage Compress, and restoring to a new database using the command:

    restore database TST_FA_H3
    from disk = 'X:\MSSQL\SQL2KDEV1\SQL_BAK_FILES\TST_FA_H3_BAK.hbc'
    WITH MOVE 'TST_FA_H3_Data' TO 'I:\MSSQL\SQL2KDEV1\SQL_DAT_FILES\TST_FA_H3_data.mdfx',
    MOVE 'TST_FA_H3_Log' TO 'X:\MSSQL\SQL2KDEV1\SQL_LOG_FILES\TST_FA_H3_Log.ldfx'

    In the Hyperbac Configuration Manager - Extensions tab I can see the the mdfx and ldfx extensions are enabled and online. Also in the Status tab I can see the VirtualDiskSize=325 change
Sign In or Register to comment.