• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 385
  • Last Modified:

Two SQL Server 2008 data bases. Problem restoring the new one.

These backup & restore queries from the original database work fine:
~~~~~~~~~~~~~~
Backup Database jandmmfg
TO Disk = ‘F:\SA-SQL-BAK\jandmmfg.bak’
WITH FORMAT;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Restore database jandmmfg from disk
= ‘F:\SA-SQL-BAK\jandmmfg.bak’
With recovery, replace
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New database   --  jandmweb    problems with restore:
~~~~~~~~~~~~
Restore database jandmweb from disk
= ‘F:\SA-SQL-BAK\J&M_Website\jandmweb.bak’
With recovery, replace
~~~~~~~~~~~~
Error message:Msg 1834, Level 16, State 1, Line 1
The file 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\jandmmfg.mdf' cannot be overwritten.  It is being used by database 'jandmmfg'.
Msg 3156, Level 16, State 4, Line 1
File 'jandmmfg' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\jandmmfg.mdf'. Use WITH MOVE to identify a valid location for the file.
Msg 1834, Level 16, State 1, Line 1
The file 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\jandmmfg_log.ldf' cannot be overwritten.  It is being used by database 'jandmmfg'.
Msg 3156, Level 16, State 4, Line 1
File 'jandmmfg_log' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\jandmmfg_log.ldf'. Use WITH MOVE to identify a valid location for the file.
Msg 3119, Level 16, State 1, Line 1
Problems were identified while planning for the RESTORE statement. Previous messages provide details.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
~~~~~~~~~~~~~~~~
I don't know why the error message even mentions jandmmfg when query is for jandmweb. I have a feeling that that is the problem though.

Thank you for any help
0
jampost
Asked:
jampost
  • 2
  • 2
1 Solution
 
lcohanDatabase AnalystCommented:
So you have 2 db's on the same SQL 2008 Server - or you want to restore one on that SQL 2008 server but the files to be restored over are used by an existing live DB on that same SQL Righ?

Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\jandmmfg_log.ldf' cannot be overwritten.  It is being used by database 'jandmmfg'.


Well you could to restore it using new physical file names or in a new different folder than above Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\

To do that I found it easiest from the UI where after you click the restore and select the backup set to restore under EACH file name just click the three dots [...] and type in a new folder and/or file name.
0
 
jampostGeneral MaanagerAuthor Commented:
I have SQL server running and I want to have two separate databases on this PC. I do have both data bases on another PC at a different location. I backup & restore constantly. The new database was created at the other location, and I am having a hard time restoring it at this location. I assume, in order to restore a database, the database must already exist and just needs updating; and I am trying to restore one that is not already there, and SQL Server is choking on it.  Does that sound logical?
0
 
jampostGeneral MaanagerAuthor Commented:
Thank you  lcohan:

I tried restoring without a query and just using the UI like you said. It has more option and it worked.
0
 
lcohanDatabase AnalystCommented:
It sounds all good and easy to do indeed.
Lets take the dbs one by one say server1.db1 server2.db2
You are sayning that "I assume, in order to restore a database, the database must already exist and just needs updating; " - not mandatory to have them created on the new server however...as SQL logins are tied to the SQL server AND databases it would be good (nut not mandatory) to have all logins from Server1 added to Server2 before you do the restore.

So you have Server1.db1 backup1 from Server1 and want to restore on Server2 then I suggest open SSMS, right click "Databases" on server2 then clieck "Restore Database" and follow the steps by adding a Database name (it can be different than the source) then select "From Device" and click the [...] to the right select the backup1 file and check the box where it is listed to select it. This will read the original backup set and now you can select "Options" under general on the left pane and here is where you can change the file path/name under "Restore As"  - just click the three dots [...] and type it in.
You can also select the "Overwrite...." WITH REPLACE and generate script instead of hitting OK to have it for future use - here you will see how with move is done.

Same thing for Server1.db2 backup2 then restore to Server2 under identical or different name - remenber you need to type it in the first step of "Restore Database".
0

Featured Post

[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now