这是我的第一篇 DBA.SE 帖子,所以请告诉我任何错误,谢谢!
我是一名新的 DBA(不是 IT 专业人员,只是公司中没有其他人可以这样做),所以解释越基本越好。我一直在阅读有关数据库备份策略(或者,我已经学会将其称为“恢复策略”)的文章。我了解完整、差异和事务日志备份的作用,但我想知道为什么差异备份只能基于最近的完整备份。
如果差异备份是自上次完整备份以来发生变化的所有内容,那么为什么差异不能基于我选择的任何备份?更清楚地说,我问的是在进行备份时指定基础,而不是在恢复时。我假设在恢复时您会选择正确的基数和相应的差异来执行恢复(不使用由基数 B 制成的差异从基数 A 恢复)。
阻止此功能实现的原因是什么?我想一定是有原因的,我只是不知道它是什么。
注意:我知道不能指定基数,但我的问题是为什么不指定?(我也对“你为什么要?”的讨论不感兴趣)
这是我如何理解差异备份的类比:
我有一个 Excel 文件,单元格中有一些数据。
在第 1 天,我制作了该文件的副本并将其存储在其他地方(“完整备份”)。
在第 2 天,我查看该文件并将其与我在第 1 天制作的备份副本进行比较,并记下所有已更改的单元格及其新值(“差异备份”)。我没有注意到对单元格所做的每一个更改,只注意到它的最终值是什么。如果单元格 A1 以“Alfred”开头,改为“Betty”、“Charlie”,然后是“Dave”,我只会注意到“A1 现在是 Dave”。
在第 3 天,我再次将当前文件与备份文件进行比较并注意更改(另一个“差异备份”与第 2 天具有相同的基础)。同样,只注意观察时每个单元格的最终值,而不是单元格一整天的所有值。
在第 4 天,我再次比较并再次注意变化。继续使用单元格 A1,现在它显示“Sarah”,即使它全天有 10 个其他名字,我只注意到“现在 A1 是 Sarah”。
第 5 天,我的文件搞砸了;因此,我查看了我在第 1 天制作的备份副本,然后查看了第 4 天记录的最终状态,然后将记录的更改应用于备份副本,现在我将文件“恢复”到第 4 天的状态因此,我查看了第 1 天所做的备份,看到第 4 天单元格 A1 以“Sarah”结尾,并将备份单元格 A1 更改为“Sarah”。
如果我在第 2 天制作了文件的另一个备份副本(“完整”),为什么会如此重要?为什么仍然不能将第 3 天或第 4 天的文件与第 1 天制作的副本进行比较(阅读,“对其进行差异备份”)?据我了解,SQL Server …