Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase

Restore DB with actual data size Expand / Collapse
Author
Message
Posted Wednesday, December 5, 2012 2:47 AM
SSC Rookie

SSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC Rookie

Group: General Forum Members
Last Login: Monday, September 22, 2014 3:57 AM
Points: 45, Visits: 538
Hi,

I have a SQL Server database whose data files have been created with an initial size of 150 GB, but it only contains 10 GB of data. A database backup will then be only 21 GB in size. I want to restore this backup to a different server (or a different database on the same server), but I don't want it to take the same disk space as the original one (150GB), which is what happens by default. I can't shrink the original database before taking a backup (it's a production database ), I could shrink the restored database after the restore is done, but I would really prefer to have it not take up 150 GB while doing that; besides, in this specific scenario I don't have that much free disk space on my Lap (machine ), so the restore isn't going anywhere.



Is there any way I can restore the database and have it only take up as much space as the actual data it contains ???



Please address this issue and need your inputs asap... :)
Post #1392862
Posted Wednesday, December 5, 2012 2:58 AM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Monday, December 8, 2014 1:45 AM
Points: 5,221, Visits: 5,120
No, SQL must restore the database as it was at the time it was backed up, meaning it must create it with a size of 150GB.

The only thing would be to shrink it after restore if you cant shrink the source.




Want an answer fast? Try here
How to post data/code for the best help - Jeff Moden
Need a string splitter, try this - Jeff Moden
How to post performance problems - Gail Shaw
CrossTabs-Part1 & Part2 - Jeff Moden
SQL Server Backup, Integrity Check, and Index and Statistics Maintenance - Ola Hallengren
Managing Transaction Logs - Gail Shaw
Troubleshooting SQL Server: A Guide for the Accidental DBA - Jonathan Kehayias and Ted Krueger

Post #1392868
Posted Wednesday, December 5, 2012 8:33 AM
Say Hey Kid

Say Hey KidSay Hey KidSay Hey KidSay Hey KidSay Hey KidSay Hey KidSay Hey KidSay Hey Kid

Group: General Forum Members
Last Login: 2 days ago @ 11:07 AM
Points: 710, Visits: 1,452
Do you have enough space on the source server to hold the database twice? If so you could try the following:

- Backup the database you want to put on the destination server
- Restored the database on the source server with a new database name
- Shrink the restored database
- Backup the restored database
- Delete the restored database from the source server
- Copy the backup over
- Restore the backup on the destination server


Joie Andrew
"Since 1982"
Post #1393050
Posted Friday, December 7, 2012 2:16 AM


Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: 2 days ago @ 9:11 PM
Points: 1,302, Visits: 1,146
bommaka.nagarjun (12/5/2012)
Hi,

I have a SQL Server database whose data files have been created with an initial size of 150 GB, but it only contains 10 GB of data. A database backup will then be only 21 GB in size. I want to restore this backup to a different server (or a different database on the same server), but I don't want it to take the same disk space as the original one (150GB), which is what happens by default. I can't shrink the original database before taking a backup (it's a production database ), I could shrink the restored database after the restore is done, but I would really prefer to have it not take up 150 GB while doing that; besides, in this specific scenario I don't have that much free disk space on my Lap (machine ), so the restore isn't going anywhere.



Is there any way I can restore the database and have it only take up as much space as the actual data it contains ???

Please address this issue and need your inputs asap... :)



1. Script out all the objects from the source database.
2. Create destination database using the scripts you have. (Don't create the index and other constraints if you have huge data). Looking at 21 GB of data it should be fine with index.
3. BCP out the data from the source server.
4. BCP in the data to the destination server.

This way you would have shrink the database in an effective way.

Post #1393930
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse