SQL Database

Hi All,

I am trying to restore a database to a server from a SQL backup.  The .ldf file is about 160 gb and database is about 3 gb.  I am unable to truncate the logs, etc online as it says it does not have enough free space when restoring it.  Is there a way to truncate the log from the backup or somehow get it restored to a new SQL server?  Also, the size of drive I am restoring to has 900 GB free.
Who is Participating?
Jim P.Commented:
If you have the mdf file, you can do an a single file attach.

Something like this:
        NAME = logical_file_name ,
    FILENAME = 'E:\Path\MyDBName.mdf'

Open in new window

nemws1Database AdministratorCommented:
Are you sure it's restoring the LDF file to the partition that has 900 gigs free (and not some other partition, like C: where it shouldn't be restoring it).

Double-check "Restore as" locations in the restore dialog box Options screen.

Unfortunately, you can't shrink the log file as it restores.  You'll need to restore the database, shink the log file (we are talking about a non-production system here, right?) and then back it up again (turn on compression!) to get a smaller backup file.
MSSQL Restore dialog box with restore locations highlighted
Robert SaylorSenior DeveloperCommented:
This works on MySQL but not sure about MS SQL. If you have 1 database create the same database on the new server then stop SQL on both servers. Physically copy the database files from one server to another. Start SQL.

I would try this as a last resort. My experience is in MySQL and not MS SQL.
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

As a sidebar to what nemws1 said, if you have a 3GB database with a 160GB transaction log, I would encourage you to consider if you really need the full recovery model for your transaction logs (I am assuming you're currently in full recovery model with a 3GB database and transaction logs that are 53 times the size of the database).  

A good link on the differences between full/simple/bulk logged recovery models is: http://msdn.microsoft.com/en-us/library/ms189275.aspx.  What it boils down to, honestly, is if you need point in time restore capabilities.  

If you do, you'll want to set up a maintenance plan/sql server agent job to back up your transaction logs much more frequently (largely dependent on the size of the logs and how frequently the data changes) in conjunction with full backups (see here: http://msdn.microsoft.com/en-us/library/ms190217%28v=sql.105%29.aspx).

Otherwise, move to simple recovery model as the transaction log is more or less useless to you from a backup/restore perspective (you would only have full/differential backups to worry about under this model).

edit: forgot to remove something
nemws1Database AdministratorCommented:
Great suggestion didnthaveaname.  Also, if you *are* going to go with the FULL recovery model, you just need to set up agent jobs to do FULL and LOG backups.  Do a quick search for "Ola Hallengren's Maintenance Script" for a great free solution.  Doing this will keep your log file size down as well (after you shrink it, that is).
Jack_son_Author Commented:
Thanks, is there a way I can just import the database only without the log files?  Just for testing
nemws1Database AdministratorCommented:
Not from a backup, no. ;-(

Did you check that you were restoring to the correct drives?
Just attach the MDF file.. New log file will be created automatically...
Jack_son_Author Commented:
Ok, that is what I am testing, but says log file is missing?
nemws1Database AdministratorCommented:
Your original question stated that all you had was a backup file.  Not an MDF/LDF combo.

Which is it?  What do you have and what are you trying to do?
Jack_son_Author Commented:
Have both.  Issue is I don't have enough space to restore with the .bak file.  I am trying another direction restoring with a copy of the db.
Anthony PerkinsCommented:
Since the Transaction Log is an integral part of the database the suggestion that "Just attach the MDF file.. New log file will be created automatically..." is suspect at best.

If you cannot switch to Simple Recovery Model and shrink the Transaction Log where it is at or find enough disk space to restore the backup you are quite simply SOL.
nemws1Database AdministratorCommented:
If you have the MDF and LDF files, have to tried to attach them?  (in SSMS, connect to server, then right click the server and select 'attach' - select the MDF and LDF files).

Once attached you can shrink them.

Also, you stated you had *plenty* of space to restore the database from backup (many gigs).  You should still be able to restore from backup.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.