如何通过日志文件恢复到某个时间点?

gmlxf 2003-10-17 04:14:56
比如今天中午12:00
backup database test to disk='c:/test.bak'
现在我想通过test.bak恢复到今天早上8:00时候的数据。
如何操作?
如果用log explorer的话,具体怎么样操作?
以前都是这样的:
--打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
---选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了
--想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开---该文件到查询分析器里执行
--T-sql代码就可以了
--
--例如 如果log是delete table where ...的话,生成的文件代码就是insert table ....

这样恢复可以吗?
...全文
379 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmlxf 2003-10-18
  • 打赏
  • 举报
回复
你们看看我的操作过程:
backup database ec to disk='c:\ec.bak'
backup log ec to disk='c:\ec_log.bak'

restore database ec from disk = 'c:\ec.bak' with replace,norecovery
restore log ec from disk='c:\ec_log.bak' with stopat='2003/10/17 17:58'

这样恢复以后怎么还是与restore database ec from disk = 'c:\ec.bak'一样呢?
sdhdy 2003-10-17
  • 打赏
  • 举报
回复
只能用log explorer试试了!
zjcxc 元老 2003-10-17
  • 打赏
  • 举报
回复
错,不是恢复中午的备份,是直接用

log explorer读当前正在使用的test的日志.
zjcxc 元老 2003-10-17
  • 打赏
  • 举报
回复
没办法,你没做备份.

尝试:
恢复中午12:00的备份
restore database test_bk from disk='c:/test.bak'

再用log explorer试试.不行就没办法了.
gmlxf 2003-10-17
  • 打赏
  • 举报
回复
'db_log_backup'是指上面的哪个,具体指出一下?
因为我按照这个方法恢复以后发现新建立的数据库里面的数据还是今天中午12点的,是怎么回师??
yujohny 2003-10-17
  • 打赏
  • 举报
回复
1、其中'db_log_backup'是日志文件,LOG文件
2、是
gmlxf 2003-10-17
  • 打赏
  • 举报
回复
yujohny(踏网无痕):
restore log db2 from disk='db_log_backup' with stopat='2003/4/22 9:57'
1、其中'db_log_backup'是什么文件?具体指出可以吗?
2、然后这样恢复的是到db2吗?


yujohny 2003-10-17
  • 打赏
  • 举报
回复
--查看备份信息
RESTORE FILELISTONLY FROM DISK ='C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup'

--还原旧的备份
RESTORE DATABASE db2 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup' with replace,norecovery,
move 'db1_Data' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\db2_data.mdf',
move 'db1_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\db2_log.ldf'

其中db2_data.mdf和db2_log.ldf是要的还原数据库的位置,db1_Data和db1_Log是要还原数据库的逻辑文件名

--还原数据日志到时间点
restore log db2 from disk='db_log_backup' with stopat='2003/4/22 9:57'
gmlxf 2003-10-17
  • 打赏
  • 举报
回复
我就是在早上9:00将test数据库中的表都清空了,怎么办?我只有中午12:00的bak。

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧