SQL 2005差异备份失败 – 不存在完整备份?

我有一台运行维护计划的SQL 2005 SP 2服务器,每天22:00执行完整备份,每隔4小时执行一次备份,每30分钟备份一次。 该计划备份所有系统和用户数据库(所有用户数据库都处于完全恢复模式)。 完整和日志备份全部完成和validation没有问题 – 我已经通过做一些testing恢复证实了这一点。 每天早上,差异备份会从2个数据库中引发错误,指出没有完整备份。

这两个数据库总是有这个错误 – 所有其他的都没问题。 如果我再次手动运行一个完整的备份,diff会运行良好,直到第二天早上。

我相当确定,问题归结于由使用Baculapipe理服务器的公司在午夜运行的VSS备份。 在SQL日志中,我可以看到,只有在Bacula运行时,VSS才会冻结/解冻系统数据库和这两个数据库。

很明显,我可以让托pipe公司停止在他们的工作中备份数据库,因为他们正在拿起我的SQL备份文件,但我只是想知道为什么会发生这种情况。 这两个数据库有什么不同,因为我检查过的每一个选项都是完全正确的。 我有相同的计划在另一台没有问题的服务器上安装。

谢谢,克里斯。

我认为你应该在22:00检查执行完整备份的作业的作业历史logging。 可能会有警告,并且可能会跳过某些数据库备份,或者没有完整备份的数据库没有完整备份。 同时检查完整备份工作的持续时间,如果Co的Bacula备份在完全备份完成之前启动(尽pipe数据库的完整备份有2小时是有点极端的话),那么确实存在问题。 无论如何,这个消息是明确的,由于某些原因,完全备份不会发生在这两个数据库上。

你的数据库是否都以完全恢复模式运行? VSS备份的行为可能会有所不同,具体取决于您是否完全恢复或简单恢复。

如果在进行差异备份之后,在执行完整备份之前发生VSS备份,那么这就是您的问题。 您需要最后一次完整备份才能正常工作。

你的select,我看到它是:

  1. 禁用SQL VSS编写器服务,停止正在破坏备份链的第三方备份
  2. 从SQL Server的sysadmin服务器angular色中删除内置的pipe理员组(只要确保你有另一个用户,或者你有sa密码)这将有效地破坏SQL VSS服务访问SQL来执行这些备份的能力
  3. 忽略它并开始使用您拥有的日志备份,只需确保您保留足够的空间来覆盖您上次的完整备份。

我还没有得到明确的答案,为什么只在这两个数据库(而且只在这个服务器上)发生这种情况,但我已经决定重新调整所有事情的备份时间,以便我们的完整备份(SQL)立即发生Bacula备份运行,所以我们可以重置任何标志设置不正确。 这几天没有问题就这样跑了。