mssqltips logo

Restore SQL Server database and overwrite existing database



By:

Overview

The RESTORE ... WITH REPLACE option allows you to overwrite an existing database when doing a restore.  In some cases when you try to do a restore you may get an error that says "The tail of the log for the database .. has not been backed up".

Explanation

The RESTORE ... WITH REPLACE allows you to write over an existing database when doing a restore without first backing up the tail of the transaction log.  The WITH REPLACE basically tells SQL Server to just throw out any active contents in the transaction log and move forward with the restore.

If you try to restore using T-SQL commands you will get this error message:

Msg 3159, Level 16, State 1, Line 1
The tail of the log for the database "AdventureWorks" has not been backed up. Use BACKUP LOG WITH NORECOVERY to backup the log if it contains work you do not want to lose. Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just overwrite the contents of the log.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

If you try to restore using SQL Server Management Studio you will see this error message:


T-SQL

Restore full backup using WITH REPLACE
The command below will restore the database and disregard any active data in the current transaction log.

RESTORE DATABASE AdventureWorks FROM DISK = 'C:\AdventureWorks.BAK'
WITH REPLACE
GO

SQL Server Management Studio

To restore using SSMS do the following, on the options page for the restore select "Overwrite the existing database".


Last Update: 3/17/2009




More SQL Server Solutions











Post a comment or let the author know this tip helped.

All comments are reviewed, so stay on subject or we may delete your comment. Note: your email address is not published. Required fields are marked with an asterisk (*).

*Name
*Email
Email me updates

Signup for our newsletter

I agree by submitting my data to receive communications, account updates and/or special offers about SQL Server from MSSQLTips and/or its Sponsors. I have read the privacy statement and understand I may unsubscribe at any time.





Wednesday, August 08, 2018 - 4:27:08 AM - Srinivas Back To Top

This tip really worked for me.thank you


Wednesday, July 18, 2018 - 2:12:26 AM - Edvard Korsbęk Back To Top

 Thanks!

Allways done so, but never understood why before reading this.

 

Best regards from Denmark

 

Edvard Korsbęk

 


Tuesday, November 01, 2016 - 4:05:12 PM - Mary Young Back To Top

My database has encrypted columns. 

I need some help in figuring out how to backup one database (FRDTest) and restore it into an existing database with a different name (FRDUserTest).  We’ve been able to successfully create a NEW database by restoring the backup, but cannot restore into an existing database .  

I get error 3154: The backup set holds a backup of a database other than the existing 'FRDUserTest'.  And, yes, I DO select "WITH REPLACE".

 

 



download





get free sql tips

I agree by submitting my data to receive communications, account updates and/or special offers about SQL Server from MSSQLTips and/or its Sponsors. I have read the privacy statement and understand I may unsubscribe at any time.



Learn more about SQL Server tools