日期:2014-05-17  浏览次数:20527 次

sql2012还原bak备份文件 ,但不知道备份的数据库版本以及备份数据库的名字。只知道备份文件
本帖最后由 cnutest 于 2013-10-21 11:27:07 编辑
各位,谁在用sql2012,我有一个数据库备份文件,bak,在2012中还原不能还原.还原数据不知道原来数据库的名字,只有一个备份文件。我的操作是:先建立一个数据(名字可能原来备份的数据库名字不一样),然后选择还原数据库,结果找不到数据库。提示,未选择要还原的备份集。如果我备份下该数据库,就可以还原,但是还原后里面没有任何内容,看了好多教程,通过语句也不行,望各位指导.
,,restore filelistonly from disk = 'D:\XXX.bak',看到的文件是




.如果要是通过设备还原,



,真是不知道如何操作了,求高手指导!
sql2012 备份还原的问题 数据库 sql

------解决方案--------------------
运行下面的命令,返回数据中,有一列是数据库的名称
restore headeronly    
from disk = '备份文件的路径'

------解决方案--------------------
本帖最后由 ap0405140 于 2013-10-21 11:29:47 编辑

restore headeronly from disk='[备份文件名]'

--> 返回结果集中,
-- DatabaseName字段即是原来的数据库名.
-- DatabaseVersion字段即是原来的数据库版本.

------解决方案--------------------
1、新建一个数据库(也可以在还原时指定)
2、右键那个库,选择【还原文件和文件组】
3、红框出选择你的bak文件,然后在左边的【选项】中选【覆盖原有数据库】
------解决方案--------------------
2012可以还原2008R2的备份。把你详细步骤截图上来看看
------解决方案--------------------
最后一个图,那个shitenzheng的那个选项框要勾上再点确定
------解决方案--------------------
回复请引用~
------解决方案--------------------
你上面没有打钩哈,必须选择还原的源:


另外,必须在选项中选择覆盖当前数据库:

------解决方案--------------------
引用:
运行下面的命令,返回数据中,有一列是数据库的名称
restore headeronly    
from disk = '备份文件的路径'

学习了,真不知道这个命令
------解决方案--------------------

但是我觉得不至于出现这种问题吧?
引用:
谢谢各位,我已经解决掉了,之所以出现上述问题是因为我第一次还原bak文件的时候很慢停止了下,第二次再还原就出新上述问题,后来我重新将bak文件拷贝回来,直接恢复数据库即可,没有那么麻烦。

------解决方案--------------------
引用:
Quote: 引用:

运行下面的命令,返回数据中,有一列是数据库的名称
restore headeronly    
from disk = '备份文件的路径'

学习了,真不知道这个命令


还有:
restore labelonly
from disk= '备份文件的路径'


restore labelonly
from disk= '备份文件的路径'