求助:sql server 按日志恢复到故障发生前一分钟的问题!

junlintianxia07 2010-05-31 03:46:21
我现在 数据库 按天 每日执行全备份,日志模式是 完整模式,我想问下,现在我有了每天的全备份文件,如何利用日志,来恢复到故障发生的时间点呢
看了一些资料,上面说是按照 日志的备份,.trn 文件
我的问题是 ,.trn 文件 是如何备份?
如果想得到最近的时间点,如果上一分钟坏了的话,想得到上一分钟的 .trn 文件 难道要按分钟执行日志备份才能恢复到上一分钟吗?
在维护计划里面 设置每分钟执行一次 日志备份 才行吗?

希望高人 一一解答,高分敬上!
...全文
119 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
幸运的意外 2010-05-31
  • 打赏
  • 举报
回复
楼主到我的csdn博客里看看吧。里面写的很详细。
  • 打赏
  • 举报
回复
搞日志备份,最好把服务器时间调整的准确一点。
永生天地 2010-05-31
  • 打赏
  • 举报
回复
来学习,帮顶
junlintianxia07 2010-05-31
  • 打赏
  • 举报
回复
谢谢 7 楼,我问的就是这个问题, 一会就结贴
you_tube 2010-05-31
  • 打赏
  • 举报
回复
去MSDN上查查尾日志怎么用还有怎么还原指定点的数据
Garnett_KG 2010-05-31
  • 打赏
  • 举报
回复
在维护计划里面 设置每小时钟执行一次 日志备份,故障发生后,可以拿当日的全备份+日志备份恢复到指定时间。
junlintianxia07 2010-05-31
  • 打赏
  • 举报
回复
帮帮忙,各位,我对日志备份 从未接触过!,谢谢了
dawugui 2010-05-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 junlintianxia07 的回复:]
不详细,我希望按照我提问的问题一一解答,谢谢!
[/Quote]
你找找tony,也许他能一一帮你回答.
junlintianxia07 2010-05-31
  • 打赏
  • 举报
回复
不详细,我希望按照我提问的问题一一解答,谢谢!
ws_hgo 2010-05-31
  • 打赏
  • 举报
回复
楼上很详细
junlintianxia07 2010-05-31
  • 打赏
  • 举报
回复
声明: 希望仔细看清楚俺的问题 再给回答 谢谢!
dawugui 2010-05-31
  • 打赏
  • 举报
回复
参考:
--数据还原到指定时间点的处理示例
--创建测试数据库
CREATE DATABASE Db
GO

--对数据库进行备份
BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT
GO

--创建测试表
CREATE TABLE Db.dbo.TB_test(ID int)

--延时1秒钟,再进行后面的操作(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的操作失败)
WAITFOR DELAY '00:00:01'
GO

--假设我们现在误操作删除了 Db.dbo.TB_test 这个表
DROP TABLE Db.dbo.TB_test

--保存删除表的时间
SELECT dt=GETDATE() INTO #
GO

--在删除操作后,发现不应该删除表 Db.dbo.TB_test

--下面演示了如何恢复这个误删除的表 Db.dbo.TB_test

--首先,备份事务日志(使用事务日志才能还原到指定的时间点)
BACKUP LOG Db TO DISK='c:\db_log.bak' WITH FORMAT
GO

--接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行)
RESTORE DATABASE Db FROM DISK='c:\db.bak' WITH REPLACE,NORECOVERY
GO

--将事务日志还原到删除操作前(这里的时间对应上面的删除时间,并比删除时间略早
DECLARE @dt datetime
SELECT @dt=DATEADD(ms,-20,dt) FROM # --获取比表被删除的时间略早的时间
RESTORE LOG Db FROM DISK='c:\db_log.bak' WITH RECOVERY,STOPAT=@dt
GO

--查询一下,看表是否恢复
SELECT * FROM Db.dbo.TB_test

/*--结果:
ID
-----------

(所影响的行数为 0 行)
--*/

--测试成功
GO

--最后删除我们做的测试环境
DROP DATABASE Db
DROP TABLE #


34,587

社区成员

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

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