SQL Server 2016下SSMS通过FULL备份数据还原指定表信息。
我们前面介绍了几篇关于SQL Server2016的相关文章,今天我们主要介绍一下如何使用SSMS将FULL备份数据还原指定表信息的操作,其实说到这个操作是有一定原因的,因为我前一段时间就再BLOG中说了,今年公司一直在上线OA系统,我作为一个运维人员给他们提供支持,但是有的时候需要通过将备份数据进行还原,因为我们一般备份为了完整性都是完整备份,恢复的时候需要将完整备份中的数据恢复到指定一张表。所以就有了今天这个需求。具体见下吧:
我们首先将ecology的数据库进行备份--完整备份
https://msdn.microsoft.com/zh-cn/library/ms177429.aspx
![clip_p_w_picpath001 clip_p_w_picpath001]()
然后查询任意表,我们再次以这个表作为列子
select count(*) from dbo.actionsetting
里面有87条数据
![clip_p_w_picpath002 clip_p_w_picpath002]()
我们先将表内的数据清空
delete from dbo.actionsetting
![clip_p_w_picpath003 clip_p_w_picpath003]()
再次查询就是0条了
![clip_p_w_picpath004 clip_p_w_picpath004]()
接下来我们需要将恢复的数据库挂载到数据库中,然后重新命名
我们右击数据库---还原数据库
![clip_p_w_picpath005 clip_p_w_picpath005]()
我们选择备份的数据库文件,然后目标一定需要更改成其他名字,因为如果跟数据库已存在的命冲突的话,数据会被覆盖。
![clip_p_w_picpath006 clip_p_w_picpath006]()
在单击左边---文件标签;修改文件的路劲;因为默认是默认数据库的存放路劲,这样还原的话会有冲突
![clip_p_w_picpath007 clip_p_w_picpath007]()
修改一个任意路劲,不能跟之前的数据库log有冲突
文件类型:行数据---mdf扩展名
文件类型:日志---ldf扩展名
![clip_p_w_picpath008 clip_p_w_picpath008]()
![clip_p_w_picpath009 clip_p_w_picpath009]()
修改完成。
![clip_p_w_picpath010 clip_p_w_picpath010]()
选项----去掉勾选---结尾日志备份,然后执行左上角的脚本,然后关闭窗口
![clip_p_w_picpath011 clip_p_w_picpath011]()
执行后,我们就可以在前面的窗口看见脚本,然后按照以下格式调整以下--换行
![clip_p_w_picpath012 clip_p_w_picpath012]()
然后选择全部代码 ---执行脚本
![clip_p_w_picpath013 clip_p_w_picpath013]()
我们通过消息看 正在处理
![clip_p_w_picpath014 clip_p_w_picpath014]()
我们刷新一下数据库就可以看见了
![clip_p_w_picpath015 clip_p_w_picpath015]()
还原完成
![clip_p_w_picpath016 clip_p_w_picpath016]()
我们选择恢复后的数据库
![clip_p_w_picpath017 clip_p_w_picpath017]()
之后,我们使用下列命令,将ecology_test.dbo.HtmlLabelInfo 所有的数据导入到ecology.dbo.HtmlLabelInfo_Test中,然后对比两个表的结构,完全一致。
Select * into ecology.dbo.actionsetting_test From ecology_test.dbo.actionsetting
![clip_p_w_picpath018 clip_p_w_picpath018]()
我们此时可以看见刚才还原的数据库表了
![clip_p_w_picpath019 clip_p_w_picpath019]()
![clip_p_w_picpath020 clip_p_w_picpath020]()
最后,我们使用下列命令将原来的表进行删除,并把HtmlLabelInfo_Test 重命名为HtmlLabelInfo。
drop table [dbo].[HtmlLabelInfo]
![clip_p_w_picpath021 clip_p_w_picpath021]()
只剩下 test的表了
![clip_p_w_picpath022 clip_p_w_picpath022]()
F2重名
![clip_p_w_picpath023 clip_p_w_picpath023]()
恢复完成。
![clip_p_w_picpath024 clip_p_w_picpath024]()