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

MSSQL
巧用SQL链接服务器访问远程Access数据库
SQL Server如何删除群集实例
安装SQL 2005中的AdventureWorks数据库
SQL Server 2008中有关XML的新功能
SQL Server注入大全及防御
Sql Server 2000视图中小心使用*符号
Sql Server导出指定条件的数据
SQL Server 2008的在线事务处理
介绍SQL Server 2008的四项新特性
SQL Server 2008在数据仓库方面的一些优点
触发器对SQL Server数据库进行备份
设置在Access项目中检索的记录数
SQL Server关于SQL Agent使用技巧
把sql server所有表的所有者改为dbo
IIS、SQL Server和ASP.NET安全设置解决方案
SQL Server 2005日志文件损坏怎么办?
SQL Server数据库字典SQL语句
临时表在SQL Server和MySql中创建的方法
SQL Server数据库查询优化3种技巧
SQL Server数据库开发10个问题

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


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