I'm wondering if anybody can help me. I have to restore the database from the backup sent by vendor. Backup itself (backup_0906 file) is 60 MB. Below is a statement I run:
RESTORE DATABASE PDMUpload
DISK = 'e:\ftpdir\backup_0906'
WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY ,
MOVE N'PDMUpload_Data' TO N'E:\MSSQL\Data\PDMUpload_Data.MDF',
MOVE N'PDMUpload_Log' TO N'E:\MSSQL\Data\PDMUpload_Log.LDF'
I get the following error messages:
Server: Msg 3257, Level 16, State 1, Procedure RestoreUpload, Line 9
There is insufficient free space on disk volume 'E:\' to create the database. The database requires 28181331968 additional free bytes, while only 6759866368 bytes are available.
RESTORE DATABASE is terminating abnormally.
If anybody can explain why DB needs 28 GB???? BTW, there is 6 GB of diskspace available on E: drive.
I appreciate any help.
The backup file only holds the "active data" of the database. There is probably a lot of extra space in your vendor's database. You can try this command:
restore filelistonly from disk = 'e:\ftpdir\backup_0906'
and check the size column to see which file is taking up all the space. You may be able to restore one of the files to another drive. Alternatively, you could ask the vendor to see if they can shrink the database, and send you a new backup of the shrunk down version (provided you don't have a box to restore and shrink this pig on yourself).
To me it looks like the source db was of 28 GB in size with only few MB actually used inside the database. So when you are trying to restore the database, It would require that much (28 GB) of space. The files will be big, however there will be little data into it.
May be you can try restoring to some other drive which has sufficient free space available and shrink it to a size you think is good enough.
Or, you can ask the vendor to shrink the database and then take backup and send u the file.