关于数据库备份的问题?

weizhaokai31 2012-04-10 08:04:37
我用下面的语句备份日志:(mydb是我的数据库名字)
use master;BACKUP LOG mydb TO DISK='D:\b.trn'
显示以下错误:
消息 4208,级别 16,状态 1,第 1 行
当恢复模式为 SIMPLE 时,不允许使用 BACKUP LOG 语句。请使用 BACKUP DATABASE 或用 ALTER DATABASE 更改恢复模式。
消息 3013,级别 16,状态 1,第 1 行
BACKUP LOG 正在异常终止。

若改成这句话:
use master;BACKUP LOG DalianUnion TO DISK='D:\b.trn' with no_log
执行正确,但是在D盘目录下没有生成b.trn文件

另外,我用这句话还原差异备份:
use master; RESTORE DATABASE mydb FROM DISK='D:\a.dif'
结果显示如下错误:
消息 3117,级别 16,状态 4,第 1 行
无法还原日志备份或差异备份,因为没有文件可用于前滚。
消息 3013,级别 16,状态 1,第 1 行
RESTORE DATABASE 正在异常终止。

请问这两个错误要如何修改?
...全文
239 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangCK 2012-04-11
  • 打赏
  • 举报
回复
自己写脚本循环这些文件 ,动态执行restore log语句


可以多做一些差异备份,日志就只在这个差异后做还原。
weizhaokai31 2012-04-11
  • 打赏
  • 举报
回复
谢谢大神指点,日志备份和还原已经没错了,但是我有一个疑惑求指点,就是我的日志是经常备份的,这样的话就会有很多备份日志,那么还原的时候要怎么逐个还原这些备份日志那?手动的话应该不太现实,因为太多了
weizhaokai31 2012-04-10
  • 打赏
  • 举报
回复
请大神指点一下……
夜予 2012-04-10
  • 打赏
  • 举报
回复
LZ需要弄清楚SQL数据库恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式,备份方式:完全备份、差异备份、事务日志备份,他们是什么含义,什么情况使用,有了相关的备份怎么还原,搞清楚了LZ的问题就解决了!
weizhaokai31 2012-04-10
  • 打赏
  • 举报
回复
谢谢,这个我已经知道了,但是我备份后,还原日志但是还出错,错误信息是:
尚未备份数据库 "student" 的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容。
请问要怎么改?
liangCK 2012-04-10
  • 打赏
  • 举报
回复
我都说了,日志恢复有一个顺序的。

比如备份了1,2,3
你总不能还原1后,就直接还原3吧。
weizhaokai31 2012-04-10
  • 打赏
  • 举报
回复
谢谢指点,这个我已经改好了,但是我用日志恢复的时候又有错了,错误是:
此备份集中的日志开始于 LSN 28000000030900001,该 LSN 太晚,无法应用到数据库。可以还原包含 LSN 28000000030800001 的较早的日志备份。

这个是什么情况?要怎么改?
liangCK 2012-04-10
  • 打赏
  • 举报
回复
基础操作可见联机丛书。
liangCK 2012-04-10
  • 打赏
  • 举报
回复
不是说得很清楚了吗?

在数据库的恢复模式为Simple(简单)下,不能备份日志
所以你的backup log失败。

backup log语句的选择with no_log为截断日志,不产生文件 。


还原日志文件,那必须要有一个日志顺序链,按照这个顺序还原才行,也必须是根据完整数据库还原或差异还原后才能做的日志还原。。

34,594

社区成员

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

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