我有一周前的Database1备份。备份每周在调度程序中完成,我会得到一个.bak
文件。现在我想摆弄一些数据,所以我需要将其恢复到另一个数据库- Database2。
我已经看到了这个问题:Restore SQL Server database in same pc with different name,建议的步骤是重命名原始数据库,但我没有这个选择,因为我在生产服务器中,我不能真正这么做。
有没有其他方法可以将它恢复到Database2
,或者至少,我如何浏览该.bak文件的数据?
谢谢。
ps:上面链接的第二个答案看起来很有希望,但它一直以错误结束:
还原文件列表正在异常终止
发布于 2011-06-07 23:10:29
您可以创建一个新的数据库,然后使用“恢复向导”启用覆盖选项,或者:
查看备份文件的内容:
RESTORE FILELISTONLY FROM DISK='c:\your.bak'
从结果中记下.mdf和.ldf的逻辑名称,然后:
RESTORE DATABASE MyTempCopy FROM DISK='c:\your.bak'
WITH
MOVE 'LogicalNameForTheMDF' TO 'c:\MyTempCopy.mdf',
MOVE 'LogicalNameForTheLDF' TO 'c:\MyTempCopy_log.ldf'
这将创建包含your.bak
内容的数据库MyTempCopy
。
(不要创建MyTempCopy,它是在还原过程中创建的)
示例(将名为'creditline‘的数据库的备份恢复到'MyTempCopy'):
RESTORE FILELISTONLY FROM DISK='e:\mssql\backup\creditline.bak'
>LogicalName
>--------------
>CreditLine
>CreditLine_log
RESTORE DATABASE MyTempCopy FROM DISK='e:\mssql\backup\creditline.bak'
WITH
MOVE 'CreditLine' TO 'e:\mssql\MyTempCopy.mdf',
MOVE 'CreditLine_log' TO 'e:\mssql\MyTempCopy_log.ldf'
>RESTORE DATABASE successfully processed 186 pages in 0.010 seconds (144.970 MB/sec).
发布于 2012-12-11 03:25:27
SQL Server2008 R2:
对于要“还原:从不同数据库的备份中还原”的现有数据库,请执行以下步骤:
>H222
发布于 2014-01-16 10:22:01
对于SQL Server2012,使用Sql Server Management Studio,我发现微软页面中的这些步骤对于恢复到不同的数据库文件和名称很有用:(参考:http://technet.microsoft.com/en-us/library/ms175510.aspx)
注意:步骤4和7的设置非常重要,以免覆盖现有数据库。
将数据库恢复到新位置,并可以选择重命名数据库
数据库连接到相应的SQL Server数据库引擎实例,然后在对象资源管理器中,单击服务器名称以展开服务器tree.
- **Database**
- Select the database to restore from the drop-down list. The list contains only databases that have been backed up according to the **msdb** backup history.
注意:如果备份来自另一台服务器,则目标服务器将没有指定数据库的备份历史记录信息。在这种情况下,选择设备以手动指定要还原的文件或设备。
- **Device**
- Click the browse (...) button to open the **Select backup devices** dialog box. In the **Backup media type** box, select one of the listed device types. To select one or more devices for the **Backup media** box, click **Add**. After you add the devices you want to the **Backup media** list box, click **OK** to return to the **General** page. In the **Source: Device: Database** list box, select the name of the database which should be restored.
备注此列表仅在选择设备时可用。只有在所选设备上具有备份的数据库才可用。
https://stackoverflow.com/questions/6267273
复制相似问题