HiveBrain v1.2.0
Get Started
← Back to all entries
snippetsqlMinor

How to change disk for "There is insufficient free space on disk volume"?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
spacediskfreeinsufficientforhowtherechangevolume

Problem

Restore of database 'Configurations_6.2.2.25' failed.
(Microsoft.SqlServer.Management.RelationalEngineTasks)


------------------------------ ADDITIONAL INFORMATION:


System.Data.SqlClient.SqlError: There is insufficient free space on
disk volume 'E:\' to create the database. The database requires
22758293504 additional free bytes, while only 10663624704 bytes are
available. (Microsoft.SqlServer.SmoExtended)

I am getting the above error when trying to restore a bak file I was given. It is not an option for the database to be shrunk before creating the bak.

I have 9.99GB free on E:\ and I have 59.7GB free on D:\

How can I change this to point to D:\ instead of E:\? and will changing the disk solve my problem? Thanks

EDIT: Solved my problem. In Restore Database -> File -> I changed the Log file folder path to D:\, then under Options I checked Override

Solution

Use RESTORE ... WITH MOVE instead of pointing and clicking in the GUI.

First, run RESTORE FILELISTONLY FROM DISK = 'D:\path\file.bak';

You will get output, like:

LogicalName    PhysicalName      ...
-----------    ---------------   ---------
SomeName1      E:\whatever\...
SomeName2      E:\whatever\...


For each LogicalName, add a MOVE clause.

RESTORE DATABASE [Configurations_6.2.2.25] -- terrible name, btw, for multiple reasons
  FROM DISK = 'D:\path\file.bak'
  WITH REPLACE, RECOVERY,
    MOVE 'SomeName1' TO 'D:\wherever\file.mdf',
    MOVE 'SomeName2' TO 'D:\wherever\file.ldf';

Code Snippets

LogicalName    PhysicalName      ...
-----------    ---------------   ---------
SomeName1      E:\whatever\...
SomeName2      E:\whatever\...
RESTORE DATABASE [Configurations_6.2.2.25] -- terrible name, btw, for multiple reasons
  FROM DISK = 'D:\path\file.bak'
  WITH REPLACE, RECOVERY,
    MOVE 'SomeName1' TO 'D:\wherever\file.mdf',
    MOVE 'SomeName2' TO 'D:\wherever\file.ldf';

Context

StackExchange Database Administrators Q#238019, answer score: 5

Revisions (0)

No revisions yet.