当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 丢失的数据忘记备份的处理方法[图文]

MSSQL
SQL Server数据库搭建农村信息化的方案
建立合理的索引提高SQL Server的性能
如何利用SQL Server 2005中的模板参数
浅析SQL Server三大算法的I/O成本
SQL Server与Oracle数据库在安全性上的异同
解析SQL Server与ASP互操作的时间处理
sql server 中删除默认约束的通用sql脚本
实用技巧:优化SQL Server数据库查询方法
SQL Server的BUILTIN\Administrators用户
史上最简单的方法复制或迁移Oracle数据库
数据库自动化技术弥补数据库DBA短缺难题
教你怎样在Oracle数据库中高速导出/导入
怎样在SQL Server中去除表中不可见字符
怎样使用 SQL Server 数据库嵌套子查询
细化解析:转换 SQL数据库时的疑难问题
细化解析:SQL Server 2000 的各种版本
轻松掌握 SQL Server 2000数据库的构架
带你轻松了解 SQL Server数据库的组成
解决SQL Server日志文件损坏严重的问题
检测你的SQL Server是否有特洛伊木马

MSSQL 中的 丢失的数据忘记备份的处理方法[图文]


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 141 ::
收藏到网摘: n/a

突然间数据库无缘无故损坏了,差异备份或事务日志备份在3点才会自动去做,那么如何将2点到2点40之间的数据恢复呢?这就需要通过备份尾部日志进行恢复了。 环境描述:
  某公司装了一台SQL Server数据库,为了保证数据库能够在出现故障时及时的修复,管理员做了备份操作,比如说完整备份+差异备份或者完整备份+事务日志备份,而且备份的时间是每隔6个小时做一次完整备份,在每天的1点、6点、12点、18点,6个小时之内是每隔1个小时做一次差异备份或事务日志备份,并且和计划任务结合在了一起。
  假如现在存在这样一种场景,在2点40分左右,突然间数据库无缘无故损坏了,差异备份或事务日志备份在3点才会自动去做,那么如何将2点到2点40之间的数据恢复呢?这就需要通过备份尾部日志进行恢复了。
  实施步骤:
  1、 首先创建一个数据库,并在数据库里创建一张表Dreamfire做测试用。
<a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据
2、 其次创建两个备份设备(备份数据存放的地方),一个存放完整备份的数据,一个存放差异备份的数据。做一次完整备份+差异备份,假如完整备份在1点做完整备份,2点做差异备份。

  先做完整备份:

  <a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据
<a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据

  <a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据
<a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据

  做完完整备份之后,然后在刚才创建的数据库的表中添加一条数据做测试用。

  然后通过差异备份数据库

  <a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据
突然间数据库无缘无故损坏了,差异备份或事务日志备份在3点才会自动去做,那么如何将2点到2点40之间的数据恢复呢?这就需要通过备份尾部日志进行恢复了。

 <a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据

  <a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据

3、 创建一张表为dbo.weibu,做测试用。假如这条记录是在2点到3点之间创建的。

  <a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据

  4、 模拟数据库丢失(删除刚才创建的xiaonuo数据库),然后通过完整备份+事务日志备份还原

  首先停止数据库的所有服务(也可以只停SQL Server服务),然后删除xiaonuo数据库,然后重启所有服务,并连接到数据库实例中可以看出刚才创建的数据库test里的表不存在了。

  <a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据
<a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据

  删除完数据库之后,然后启动服务,链接到数据库实例中,可以看到刚才创建的数据库xiaonuo里的数据全部丢失了。

  <a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据

  5、 备份尾部日志并还原。

  如果通过正常还原(完整备份+差异备份还原),只能还原dbo.Dreanfire这张表,并不能还原dbo.weibu这张表。这就需要在master数据库中备份数据库xiaonuo的尾部日志(删除xiaonuo数据库时,可不能连尾部日志也删除了),备份的时候,数据库选择“xiaonuo”,备份类型选择“事务日志”

<a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据

  注意:常规里一定要选择“追加到现有备份集”

  <a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据

  6、 进行完整备份+事务日志备份的还原

  注意:还原了时候,最后会多一条日志备份记录,也就是刚才在master数据库上做的关于xiaonuo数据库的尾部日志备份。

  还原完成之后,可以看到不但完整备份和差异备份的数据回来了,而且没有备份的数据也回来了。
<a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据

  <a href='http://www.webjx.com/database/'><u>数据库</u></a>没有备份---应如何还原丢失的数据