Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Restore SQL Server database in same pc with different name

Tags:

sql-server

I have:

SQL Server 2008

Database Name: database1

I had taken backup from "database1" nearly one month ago. Now, by someway, "database1" is messed up in some tables.

So I want to recover only those tables from my last backup.

I am trying to make another database named "database2" and restore on it with old backup.

I'm afraid to restore from backup file, which may restore in "database1", I want to re-store in only 'database2' (which is new)

like image 236
Mujah Maskey Avatar asked Mar 08 '11 05:03

Mujah Maskey


People also ask

How do I restore a SQL database with a different name?

Restore a database to a new location; optionally rename the database using SSMS. Connect to the appropriate instance of the SQL Server Database Engine, and then in Object Explorer, select the server name to expand the server tree. Right-click Databases, and then select Restore Database.

How do I restore a specific database from a specific backup file with specific date and time?

Click Timeline to access the Backup Timeline dialog box. In the Restore to section, click Specific date and time. Use either the Date and Time boxes or the slider bar to specify a specific date and time to where the restore should stop. Select OK.

Can a SQL database be renamed?

If you are using SQL Server, you can set the database to single-user mode to close any open connections and prevent other users from connecting while you are changing the database name. In Object Explorer, expand Databases, right-click the database to rename, and then select Rename.


2 Answers

If you are using SSMS, you can:

1)right click the Databases folder

2)select Restore Database

3)Enter any name you want in the "To Database" field - this will be the database name

4)Select "From device" and find your backup file.

You may need to specify different physical file names by selecting the Options page (I don't remember if SQL server will automatically prepopulate a different file name if a database already exists with the filenames contained in the backup.

like image 123
jlnorsworthy Avatar answered Oct 22 '22 13:10

jlnorsworthy


Here's where using T-SQL will help you out.

  1. Execute a "restore filelistonly from disk = 'your backup file here'" This will get you a list of the logical files for the database from the backup file along with their physical paths.
  2. Based on the information obtained from above, execute "restore database database2 from disk = 'your backup file here' with move 'logical file 1' to 'physical file name 1', move 'logical file 2' to 'physical file name 2', ...". Make sure that the physical paths that you're providing here are not in use.
like image 6
Ben Thul Avatar answered Oct 22 '22 14:10

Ben Thul