注册 登录
编程论坛 SQL Server论坛

[求助]没有做日志备份能不能按时间点恢复数据库中的数据?

oledbadapter 发布于 2007-08-09 14:03, 1859 次点击
不知道是什么原因,客户的数据库中的表的部分数据丢失,又没有及时的完全备份文件,只有半个月前的完全备份,而这半个月来也一直有数据录入工作。目前数据库的数据文件(.mdf)与日志文件(.ldf)都在,能不能利用原来的备份与现在的日志文件(.ldf)把数据库表中丢失的数据找回来?也就是先把数据库恢复到丢数据前的状态,然后把后面这半个月的数据用语句补进去。请问可以实现吗?
9 回复
#2
棉花糖ONE2007-08-11 11:14
要是能保证你现在的日志保存了半个月以来的所有操作就ok,否则别想,日志是一个也不能少的,要按时间还原
#3
缘吇弹2007-08-11 16:12
受益
#4
oledbadapter2007-08-13 08:20

我的数据库事务日志文件增长设置的是文件自动增长,不受限制。这样应该可以把历来的日志都有的吧?现在我想请问是要怎么样去操作,是不是首选备份一个日志备份?然后再还原一个完全备份,再使用日志备份按时间点还原数据库?请指教。谢谢!

#5
oledbadapter2007-08-14 13:08

首先更新数据库属性
alter database dd_zcgldb set recovery full
go

然后在目前数据库的基础上进行全库备份和日志备份
BACKUP DATABASE BJKJ_ZCGLDB TO disk='F:\BJKJ_ZCGLDB.dat'
BACKUP LOG dd_ZCGLDB to disk='F:\dd_ZCGLDB.log'
go

再用全库备份还原一个新数据库
restore database dd1_ZCGLDB from disk='F:\dd_ZCGLDB.dat' with norecovery

在新数据库上还原日志备份到时间点
restore log dd1_ZCGLDB from disk='F:\dd_ZCGLDB.log'
with stopat='2007/05/19 00:00:00.000'
GO

请问我这样操作有问题吗?为什么还原来还原去数据库还是没有变化?里面的数据始终相同?

[此贴子已经被作者于2007-8-14 13:09:46编辑过]

#6
西风独自凉2007-08-14 13:57

用你的.mdf附加数据库。。。或许可以找回你要的资料
#7
oledbadapter2007-08-14 14:03
mdf附加也试过,好象不行。数据文件应该是随时发生变化的吧?

[此贴子已经被作者于2007-8-14 14:06:19编辑过]


#8
西风独自凉2007-08-14 15:11
以下是引用oledbadapter在2007-8-14 14:03:59的发言:
mdf附加也试过,好象不行。数据文件应该是随时发生变化的吧?

是啊。。如果你的数据库是意外丢失资料。。
。不是人为的话。。应该可以找到

#9
oledbadapter2007-08-14 16:56
以下是引用西风独自凉在2007-8-14 15:11:22的发言:

是啊。。如果你的数据库是意外丢失资料。。
。不是人为的话。。应该可以找到

我想请问除了人为删除数据外,所谓的意外丢失资料指的是哪些方面?如果要恢复的话可以采取哪种措施?

#10
西风独自凉2007-08-15 10:55
如系统重装。。。而你又有此数据库的.mdf文件。。
那就可以找回原来的数据 了
1