数据库备份文件还原方法
Jason.lin 2017-11-10 星期五
工作有几年了,现在发现前段时间遇到问题的解决方法最近经常记不住了,又得重新查询解决办法,费时费力,一直想着要做个博客记录这些方法,方便提醒自己,趁现在提了辞职时间比较充裕的时候,决定从现在开始拾起博客这一块。下面不废话了, 开始第一篇随笔了!
一、情景描述
现在在整理交接工作,在这个过程中看到了更久之前离职的前同事留下来的代码,决定重新理一下思路,他使用.net搭了一个简单的web框架,有使用数据库和登录网页,因为很久以前的工作,需要在本机上搭建数据库,查找了半天只找到了一个Mes_2017022201115的文件,别的信息都没有了。
二、解决办法
查看项目的相关文件,好歹有了一个疑似数据库备份的文件了……
第一步,我用文本编辑器打开了这个文件,发现内容如下图所示,文件以TAPE开头,且包含Microsoft SQL Server RAID字样,百度查询发现有解释说可能是“SQL Server数据库磁带备份文件”。
Figure1 文本编辑器打开Mes_2017022201115首行
第二步,尝试打开这个Mes_2017022201115文件查看有没有有效信息,于是进入MSDN网站https://docs.microsoft.com/,在SQL中搜索“查看数据库磁带备份”,得知使用使RESTORE HEADERONLY 语句获取备份数据库信息如下图所示,将路径改为我们文件的路径,运行后果然有数据库的信息出现了。
Figure2 查看数据库磁盘备份文件SQL语句
Figure3 查看数据库磁盘备份文件结果
第三步,这一步就明确了,我们以该文件为备份文件,还原MES数据库即可,这里参考LionDen的“
SQL server 2008数据库的备份与还原(转)”(转载该博客),这里粘贴出来就不再做重复工作了
一、SQL数据库的备份:
1、依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Server Management Studio → 数据库:Dsideal_school_db既是我们需要备份的学籍数据库
图(1)
2、选择要备份的数据库“Dsideal_school_db”,点击鼠标右键 → 任务 → 备份,如图(2):
图(2)
3、在打开的“备份数据库 —Dsideal_school_db”对话框中,先点击删除,然后点击“添加”,如图(3):
图(3)
4、在弹出的“选择备份目标”对话框中,如图(4)
图(4)
5、选择好备份的路径(如D盘的江西-学籍-数据库备份文件夹中),文件类型选择“所有文件”,“文件名”那个位置填写上您要备份的数据库的名字(最好在您备份的数据库的名字后面加上日期,以方便以后查找),之后连续点击“确定”按钮即可完成数据库的备份操作,如图(5):
图(5
二、SQL数据库的还原:
1、选择您要还原的数据库“Dsideal_school_db”,点击鼠标右键 → 任务 → 还原 → 数据库,如图(6):
图(6)
2、在出现的“还原数据库 — school_web_db”对话框中选择“源设备”,然后点击后面的“…”按钮,如图(7):
图(7)
3、在出现的“指定备份”对话框中,点击“添加”按钮,如图(8):
图(8)
4、找到数据库备份的路径,选择您所要还原的数据库“Dsideal_school_db”(注意:文件类型选择所有文件),然后连续“两次”点击“确定”按钮,如图(9):
图(9)
5、在出现的“还原数据库 — Dsideal_school_db”对话框中,勾选上“选择用户还原的备份集”下的数据库前的复选框,如图(10)
图(10)
6、然后选择“选项”,勾选上“覆盖现有数据库”,如图(11):
图(11)
三、还原数据库问题解决方案
在还原数据库“Dsideal_school_db”时,有时会遇见上图中的问题“因为数据库正在使用,所以无法获得对数据库的独占访问权”,此时我们可以按照以下步骤解决此问题
1、右键数据库“Dsideal_school_db”,然后选择“属性”,如下图
2、在出现的“数据库属性 — Dsideal_school_db ”对话框中,选择“选项”,在“其他选项”下的“状态”中找到“限制访问”。选择“SINGLE_USER”,点击“确定”按钮,如下图:
3、按照正常还原数据库的步骤,还原数据库。