我每周备份一次(我所有的数据库都处于完全恢复模式),然后安排差异每晚运行(星期日除外)。
在我的日志里我看到了这个:
无法对数据库"DBNAME“执行差异备份,因为当前数据库备份不存在
我确实有运行的VSS作家,但没有第三方的工具,我知道运行应该“无效”星期日完全备份。如果我手动运行一个完整的备份,然后运行一个Diff,它就能正常工作。这些机器是运行Server 2017的Azure中的VM。
奇怪的是,在我的测试机器上,它在相同的设置下工作(启用了VSS)。
如果没有必要,我宁愿不禁用VSS。
有什么想法吗?
发布于 2022-10-29 11:20:05
当尝试在完全备份之前在数据库上执行差异备份时,会引发该错误消息。我测试了它,创建了一个名为MyLab的新数据库,并发出了以下命令:
BACKUP DATABASE MyLab
TO DISK = 'C:\BackupSQL\testbackupdiff.dif'
WITH DIFFERENTIAL;无法对数据库"MyLab“执行差异备份,因为当前数据库备份不存在。通过重新发出备份数据库来执行完整的数据库备份,同时省略WITH差分选项。
在差异之前进行完全备份是一个先决条件。创建差异数据库备份医生说:
先决条件
由于您的全部备份计划在星期日进行,您很可能在星期一没有看到任何错误。但是,您可以使用选项配置hallengren脚本,以更改备份类型,以避免将来出现这种情况。来自hallengren医生:
如果不能执行差异备份或事务日志备份,ChangeBackupType将更改备份类型。如果无法执行备份,则值说明Y更改备份类型。如果不能执行备份,请跳过备份。这是默认的。DatabaseBackup检查sys.master_files中的differential_base_lsn以确定是否可以执行差异备份。如果不可能进行差异备份,则默认跳过数据库。或者,您可以将ChangeBackupType设置为Y,改为执行完全备份。
另一种可能是您的完整备份正在使用WITH COPY_ONLY选项。请参阅只复制备份文档:
仅副本备份不能用作差异基或差异备份,并且不影响差异基。
https://dba.stackexchange.com/questions/318908
复制相似问题