Sql Server2012还原数据库时提示“未选择要还原的备份集”解决办法

今天在服务器上备份了一份数据库文件,在本地根据设备进行还原总是提示“未选择要还原的备份集”。如下图所示:



 

 

按正常逻辑,当为设备指定了正确的备份文件。源数据库就会默认加载出需要还原的数据库也会选中默认要还原的备份集。然而楼主的并没有走正常逻辑......错误就如上图所示。
于是乎就各种百度、google....

1. 运行下面的sql命令,检查数据库备份文件是否正确。

restore headeronly from disk='[备份文件名]'  
   
--> 返回结果集中,  
-- DatabaseName字段即是原来的数据库名.  
-- DatabaseVersion字段即是原来的数据库版本.

 2.运行了第一步的命令,然而出现了另个错误“媒体簇的结构不正确。SQL Server无法处理次媒体簇”。

我也不知道那是什么东东,在一百度有大神建议检查“数据库实例是否相同”?

本地数据库默认有两个数据库实例。其中第一个为2008 实例,第二个为2012的实例。因为服务器安装的2012,用2008的数据库还原2012的备份文件

3. 咱就切换数据库实例,用2012试一试..
运行第一步提供的sql命令,果然成功了,如下图所示:

 
有两条备份记录,DatabaseName为备份的数据库名,DatabaseVersion为备份的版本。
继续还原数据库:数据库——>还原数据库——>设备——>添加备份介质(也就是备份文件)——>确定。又有错误“由于 LSN 链接断开,因此无法创建还原计划。(Microsoft.SqlServer.SmoExtended)”如下图:

 
要还原的数据库是出来了(总算离成功进了一步) ,但要还原的备份集依然是空的呢? 确定按钮不能用,肿么办?
4.是因为备份集有多个备份而引起的么,决定用“还原文件和文件组”的方法试一试
右键单击“还原文件和文件组”


 
其次选择源设备,指定要还原的备份文件

 
最后,选择或设置目标数据库名称,选择用于还原的备份集,然后确定。

 
ok,就这样还真就大功告成了!
 
 

猜你喜欢

转载自liaojuncai.iteye.com/blog/2343643