只是想知道你们有什么备份过程。
我目前正在执行每周一次的完整数据库备份和每日差异备份。
我的理解是,通过这样的设置,完全恢复模式和简单恢复模式之间的区别在于,在完全恢复模式下,我将能够使用事务日志将我的数据库回滚到应用最新的特定时间点差异备份。
假设在我的场景中,最后一个差异备份是我最后一个也是最终的“保存点”,我认为不需要使用日志进一步回滚我的数据库。这让我想到了我的问题:对我当前的备份过程使用完全恢复模式是否有任何额外的好处?
只是想知道你们有什么备份过程。
我目前正在执行每周一次的完整数据库备份和每日差异备份。
我的理解是,通过这样的设置,完全恢复模式和简单恢复模式之间的区别在于,在完全恢复模式下,我将能够使用事务日志将我的数据库回滚到应用最新的特定时间点差异备份。
假设在我的场景中,最后一个差异备份是我最后一个也是最终的“保存点”,我认为不需要使用日志进一步回滚我的数据库。这让我想到了我的问题:对我当前的备份过程使用完全恢复模式是否有任何额外的好处?
好吧,如果你不保存日志,你能做的最好的就是回滚到你的最后一个差异。
我通常做的是以更短的时间间隔(可能每 15 分钟左右)备份事务日志。这可以防止我在最坏的情况下丢失大量数据(机器被烧毁)。这是一个非常轻量级的操作,因此可以在线完成,影响最小。
您通常应该只使用完整备份模式,并且您应该经常备份您的事务日志,除非您可以承受丢失多达一整天的数据,这是您现在所面临的。
在确定备份策略时,通常需要考虑两个因素。恢复点目标 (RPO) 和恢复时间目标 (RTO)。
恢复时间目标
我根本不会介绍 RTO,因为这涉及到保存备份的数据库镜像/集群等。但是请记住,在发生故障后让服务器恢复联机需要多长时间,例如将磁带恢复到现场,获得新服务器、重建服务器等。RPO 和 RTO 是您应该向业务部门报告的两个数字,您应该定期对其进行测试。
还原点目标
还原点目标是您要将数据库恢复到的时间点。
完整与简单
如果您需要恢复到特定时间点,则需要移至完全恢复模式和事务日志备份。否则,您将只能恢复到上次完整备份或差异备份的位置。
尽管大多数企业表示每晚或 4 小时的数据丢失是可以接受的。当你处于那种情况时,它通常不是。所以我总是使用事务日志备份进行完全恢复。
满血复活
作为一般规则,我每晚都会对我的大多数数据库进行完整备份。我也每 4 小时做一次差异,每 15 分钟做一次交易日志。Tf 您的差异备份大小开始超过您的完整备份大小。是时候进行更频繁的完整备份了。
如果您的差异备份大小开始超过完整备份大小。是时候进行完整备份了,因为您将失去差异备份在还原速度方面的任何好处。
Full Recovery 最大的问题是您必须始终拥有集合中的最后一个完整备份才能从中恢复。如果有人手动备份数据库并且不保留备份,他们将破坏您的设置,并且您将无法在没有它的情况下恢复。(仅使用带副本的备份)
此外,如果您正在执行完全恢复,那么您正在执行事务日志备份,否则您的日志文件将变得无法管理。
恢复
要在完全恢复模式下恢复,您需要。最接近还原点的最后一个完整备份,然后是最近的差异备份,然后您需要前滚每个事务日志以到达您需要的时间点。
恢复过程要困难得多,但绝对值得。因为您可以恢复到开发人员将全部删除发送到数据库的确切时间点。
因此,要回答完全恢复这个问题绝对值得付出额外的工作,因为您会很高兴能够在各种情况下恢复到某个时间点。特别是当您在月底财务处理之前发生重大故障时。
数据库的大小在差异备份与事务日志备份中起着重要作用。在非常大的数据库上,执行差异备份或完全备份所需的时间将超过数据库需要备份的频率的要求。例如,在许多地方,我看到了夜间差异、每小时事务日志和每周完整备份的混合。
能够恢复到某个时间点或检查点是事务日志备份有用的另一个原因。如果我没记错的话,此功能在差异备份中不可用。
在小型数据库上,差异与事务日志数据库的时间可能不太重要,这可能是您看不到附加值的原因。您可能还有更简单的维护要求。
有关这方面的专家信息,请查看Paul Randal 博客上有关备份和事务日志的所有内容。每种情况都是不同的,实际上只有您可以决定您需要什么。教育自己,然后选择对您需要的数据恢复有用的方法以及可接受的数据丢失量。
在配置数据(即没有用户数据,只有配置设置)的情况下,您可以使用简单的备份来消除对事务日志的需要。