首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ola Hallengren成功地进行了完全备份,但没有获得差异

问使用Ola Hallengren成功地进行了完全备份,但没有获得差异
EN

Database Administration用户
提问于 2022-10-28 16:33:50
回答 1查看 158关注 0票数 0

我每周备份一次(我所有的数据库都处于完全恢复模式),然后安排差异每晚运行(星期日除外)。

在我的日志里我看到了这个:

无法对数据库"DBNAME“执行差异备份,因为当前数据库备份不存在

我确实有运行的VSS作家,但没有第三方的工具,我知道运行应该“无效”星期日完全备份。如果我手动运行一个完整的备份,然后运行一个Diff,它就能正常工作。这些机器是运行Server 2017的Azure中的VM。

奇怪的是,在我的测试机器上,它在相同的设置下工作(启用了VSS)。

如果没有必要,我宁愿不禁用VSS。

有什么想法吗?

EN

回答 1

Database Administration用户

发布于 2022-10-29 11:20:05

当尝试在完全备份之前在数据库上执行差异备份时,会引发该错误消息。我测试了它,创建了一个名为MyLab的新数据库,并发出了以下命令:

代码语言:javascript
复制
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选项。请参阅只复制备份文档:

仅副本备份不能用作差异基或差异备份,并且不影响差异基。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/318908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档