还原数据库到特定时间点
u 案例需求
如何还原数据库到特定时间点?
u 知识提示
在大多数情况下,管理员都会使用完整备份结合事务日志备份的方式对数据库进行备份。例如管理员制定了一个维护计划,在每天的12:00对数据库进行完整备份,之后每隔1小时对数据库进行事务日志备份。
如果需要查看14:00的数据,则可以使用12:00的完整备份、13:00和14:00的事务日志备份将数据库还原到14:00。但如果需要查看13:35的数据,则可以使用T-SQL语句进行还原,可以精确到具体的时间点。
在查询分析器中执行如下T-SQL语句。
restore database class --指定要还原的数据库名称; from disk = ‘E:\class_bak\class_db_201112071200.bak‘ --指定备份文件的位置及其文件名; with replace,norecovery, --replace表示覆盖现有数据库; --norecovery表示使数据库处于还原状态,还可以继续还原其他事务日志; move ‘class‘ to ‘F:\class\class.mdf‘, move ‘class_log‘ to ‘F:\class\class.ldf‘ --将数据库文件移动到指定位置; restore log class --指定要还原的事务日志名称; from disk =‘E:\class_bak\class_log_201112071300.TRN‘ --指定事务日志备份文件的位置及其文件名; with norecovery restore log class from disk = ‘E:\class_bak\class_log_201112071400.TRN‘ with recovery,stopat = ‘2011-12-07 13:35:00‘ --recovery表示结束还原使数据库处于可用状态; --指定要还原的时间点; |