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

MSSQL
一个分页存储过程代码
Sql Server 2000 行转列的实现(横排)
sql2000挂起无法安装的问题的解决方法
完美解决MSSQL"以前的某个程序安装已在安装计算机上创建挂起的文件操作"
SQL Server数据库的修复SQL语句
分页存储过程代码
批量执行sql语句的方法
一条SQL语句搞定Sql2000 分页
SQL Server 海量数据导入的最快方法
SQL Select语句完整的执行顺序
MSSQL 清空数据库的方法
mssql自动备份及自动清除日志文件服务器设置
Sql 语句学习指南
.NET Framework SQL Server 数据提供程序连接池
对有自增长字段的表导入数据注意事项
SQL Server导入、导出、备份数据方法
sql server 临时表 查找并删除的实现代码
该行已经属于另一个表 的解决方法
SQL 注入式攻击的本质
SQL 平均数统计

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 88 ::
收藏到网摘: 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>没有备份---应如何还原丢失的数据