从日志文件里恢复数据

主  题:  问一个日志操作的问题 
作  者:  smiler007 (笑一笑) 
等  级:   
信 誉 值:  100 
所属社区:  MS-SQL Server 基础类 
问题点数:  100 
回复次数:  10 
发表时间:  2005-9-11 15:49:17 


各位高手:
   我的数据库每天大约增加1G左右的日志文件,数据库文件的大小只有2G多,上次数据库备份是在8月22日,在进行9月3号的数据处理时出错了,原因中硬盘空间不够了...:(

   我现在想从日志文件里恢复数据至9月1号,如何做呢?

 
回复人: smiler007(笑一笑) ( ) 信誉:100  2005-9-11 18:29:53  得分: 0 

再追问一个问题:总是进行数据库的收缩是好是坏呢???

Top 
 
 回复人: vivianfdlpw() ( ) 信誉:100  2005-9-11 19:02:51  得分: 80 
   
--备份数据库
backup database 数据库 to disk='c:/db.bak'

--备份事务日志
backup log 数据库 to disk='c:/dblog.bak'


--恢复数据库完整备份
restore database 新数据库 from disk='c:/db.bak'
with norecovery,
     move '逻辑文件名' to 'mdf文件新位置',
     move '逻辑日志名' to 'ldf文件新位置'

--恢复事务日志
declare @time datetime
set @time='2005-09-01 00:00:00'
restore log dbase from disk='c:/testlog.bak'
with recovery,stopat=@time

 回复人: vivianfdlpw() ( ) 信誉:100  2005-9-11 19:05:14  得分: 0 
 
 
  
--备份数据库
backup database 数据库 to disk='c:/db.bak'

--备份事务日志
backup log 数据库 to disk='c:/dblog.bak'


--恢复数据库完整备份
restore database 新数据库 from disk='c:/db.bak'
with norecovery,
     move '逻辑文件名' to 'mdf文件新位置',
     move '逻辑日志名' to 'ldf文件新位置'

--恢复事务日志
declare @time datetime
set @time='2005-09-01 00:00:00'
restore log 新数据库 from disk='c:/dblog.bak'
with recovery,stopat=@time

 回复人: smiler007(笑一笑) ( ) 信誉:100  2005-9-11 21:00:02  得分: 0 
 
  
第二个问题呢?

总是进行数据库的收缩是好是坏呢???

 回复人: vivianfdlpw() ( ) 信誉:100  2005-9-11 21:10:20  得分: 0 
 
 
  
具体情况具体分析,要根据你的业务情况找到一个合适的收缩频率,比如数据库操作比较频繁,短时间出现大量日志纪录的情况下,收缩的频率就应该高一点。恰到好处最好,过犹不及


回复人: leoeva(希锐) ( ) 信誉:100  2005-9-11 23:17:40  得分: 5 
 
 
  
首先,你要确保你从8月22-9月3日的日志文件是完好的,然后再按着楼上的去做吧!依你的数据库和日志的大小,我建议你还是不要太过频繁的收缩数据库。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值