按时间点还原SQL数据库的方法


  本文标签:还原SQL数据库

  还原SQL数据库是每个DBA都需要掌握的,下面为您介绍的方法是按时间点还原SQL数据库的,希望对您学习还原SQL数据库方面能够有所帮助  。

  特别提醒:在操作前记得把数据库备份一下  。

  注:我的最后备份文件是20091029的15点,刚好差距是2天时间  。

  第一步:备份日志文件,以备还原使用,代码如下:

  BACKUP LOG 数据库名 TO DISK=备份文件存放路径(如:D:\test.log) WITH INIT

  第二步:恢复备份的最后一个数据文件备份,记得写上WITH NORECOVERY,如果是在管理工具中操作还原数据库的话,请在[还原数据库]->[选项]->[恢复完成状态]下选择[是数据库不再运行,但能还原其它事务日志]选项,再确定,还原时数据库可以重命名,代码操作如下:
RESTORE DATABASE test_bak from disk=F:\databak\test_db_200910291500.BAK WITH NORECOVERY

  第三步:根据日志文件指定恢复的时间点数据,如下:
RESTORE LOG sms_01_bak FROM disk=f:\sms_01.logs WITH RECOVERY,STOPAT=10/31/2009 15:40

  运行完成后,把数据库设置成可运行状态,查询数据,OK,全部都在,高兴啊''''''

  如果感觉日志文件太大了,可以清空日志信息,记得把刚才备份的日志文件保存好,

  清空日志:
DUMP  TRANSACTION  sms_01  WITH  NO_LOG