当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 丢失的数据忘记备份怎么办?

MSSQL
MS SQL Server 2000系统数据类型
SQL Server几个容易出错的数据类型
SQL Server 数据库中关于死锁的分析
站长必备的sql查询语言基础知识
经验分享交流:常用SQL语句技法
SQL SERVER 2000 数据库备份与还原
解决SQL SERVER 2005无法远程连接的问题
SQL Server 安装参考意见
在sqlserver2005中安装sql server 2000的示例数据库northwind
SQL Server 2000 数据库分离与附加
高级自定义查询、分页、多表联合存储过程
SQL Server数据库下教你如何做导库SQL
常用的 MSSQL Server 数据修复命令
SQL存储过程初探
SQL Server存储过程编写经验和优化
卸载SQL Server2000后不能再次安装的问题解决方法
教你安装SQL Server 2005示例数据库
MySQL 的外键与参照完整性: Part 1
SQL Server安装:"安装文件配置服务器失败"的解决方法
SQL Server 数据库文件存放在何处

MSSQL 中的 丢失的数据忘记备份怎么办?


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

环境描述:

  某公司装了一台SQL Server数据库,为了保证数据库能够在出现故障时及时的修复,管理员做了备份操作,比如说完整备份+差异备份或者完整备份+事务日志备份,而且备份的时间是每隔6个小时做一次完整备份,在每天的1点、6点、12点、18点,6个小时之内是每隔1个小时做一次差异备份或事务日志备份,并且和计划任务结合在了一起。

  假如现在存在这样一种场景,在2点40分左右,突然间数据库无缘无故损坏了,差异备份或事务日志备份在3点才会自动去做,那么如何将2点到2点40之间的数据恢复呢?这就需要通过备份尾部日志进行恢复了。

  实施步骤:

  1、 首先创建一个数据库,并在数据库里创建一张表Dreamfire做测试用。

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

  2、 其次创建两个备份设备(备份数据存放的地方),一个存放完整备份的数据,一个存放差异备份的数据。做一次完整备份+差异备份,假如完整备份在1点做完整备份,2点做差异备份。

  先做完整备份:

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

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

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

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

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

  然后通过差异备份数据库

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  还原完成之后,可以看到不但完整备份和差异备份的数据回来了,而且没有备份的数据也回来了。

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

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