MSSQL2005日志备份失败

weiljj 2007-10-24 01:39:07
我在备份MSSQL2005数据库的日志时使用的是该SQL:
Backup Log Test to disk='I:\Test_20071024.bak' with no_truncate
但运行时得到如下错误提示:
消息4214,级别16,状态1,第1 行
无法执行BACKUP LOG,因为当前没有数据库备份。
消息3013,级别16,状态1,第1 行
BACKUP LOG 正在异常终止。

但是当前数据库(Test数据库)是有在2007/10/20那天做过备份的,那天执行的备份SQL为:
Backup DataBase Test to disk='I:\Test_P_20071020.bak'
Backup Log Test to disk='I:\Test_P_20071020.log' with no_truncate
执行是成功的.

所以不明白为什么会出现” 无法执行BACKUP LOG,因为当前没有数据库备份。” 这么个错误提示.
有谁知道,请指教一下,大概有什么原因会产生这个错误?

另外,这个数据库很大,数据文件的大小是100多个G,它的恢复模式是”完整”,而且” READ_COMMITTED_SNAPSHOT”和” ALLOW_SNAPSHOT_ISOLATION”开关是打开的.
...全文
520 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weiljj 2007-12-17
  • 打赏
  • 举报
回复
后面那句加了参数with no_truncate,相当于将日志截断了,因此再做日志备份的时候,又找不到起点了.
---这句话不对,with no_truncate这明显是不截断日志.
上面的那些语句是正确的,因为我新建了一个数据库来做测试,都是成功,并没有问题,所以怀疑是其他动作造成的,比如是不是有做过BACKUP LOG WITH TRUNCATE_ONLY之类的动作,但是没法确认,总之症状就是日志链被打断了,但为什么被打断了,找不出原因,比如说有某人在上面执行过某个动作,也没找不到有日志会记录.
z5wjz 2007-10-26
  • 打赏
  • 举报
回复
但是当前数据库(Test数据库)是有在2007/10/20那天做过备份的,那天执行的备份SQL为:
Backup DataBase Test to disk= 'I:\Test_P_20071020.bak '
Backup Log Test to disk= 'I:\Test_P_20071020.log ' with no_truncate
执行是成功的.

----是有做过完全备份的。


后面那句加了参数with no_truncate,相当于将日志截断了,因此再做日志备份的时候,又找不到起点了.

如果你不愿意有那么多日志的话,可以将上面两句颠倒一下顺利,但后面正常的日志备份开始之前,一定是有一次全库备份的,这样后续的日志备份才能一个一个的接起来
hb_gx 2007-10-25
  • 打赏
  • 举报
回复
----是有做过完全备份的。

如果你切换过数据库的恢复模式,比如从完整切换成简单,那么你的备份链实际上已经断了,所以必须重新做一次完整或者差异备份才能继续备份数据库日志
weiljj 2007-10-25
  • 打赏
  • 举报
回复
但是当前数据库(Test数据库)是有在2007/10/20那天做过备份的,那天执行的备份SQL为:
Backup DataBase Test to disk= 'I:\Test_P_20071020.bak '
Backup Log Test to disk= 'I:\Test_P_20071020.log ' with no_truncate
执行是成功的.

----是有做过完全备份的。
ojuju10 2007-10-25
  • 打赏
  • 举报
回复
在做数据库日志备份前,必须要对数据库做一次完全备份!
weiljj 2007-10-24
  • 打赏
  • 举报
回复
为啥没人答呢?眼看着CSDN的高手越来越少.

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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