身为数据库管理员,如何选择备份策略?需要关注两点:你管理的数据库中承受数据丢失最多多久?在数据库备份和恢复策略方面,准备投入多少人力物力?要想取得更好的结果,就需要越多的投入。这尤其适用于数据库备份策略。接下来,小编将介绍数据库备份,数据库备份和恢复步骤,一起来看看吧。
数据库备份,数据库备份和恢复步骤
如果没有考虑到镜像技术(例如SQLServer自己的数据库镜像和物理磁盘级镜像),数据库就不可能随时进行数据库备份,在每个备份之间总是要有一个间隔。在下一次备份之前,该间隔之间的数据更改将不受保护。因此说到最后,丢失数据的最大时间间隔是两次备份之间的间隔。使用备份恢复机制对数据进行保护,是不可能保证数据一点不丢失的。若用户提出的要求是不能有任何数据丢失,则必须与用户沟通,让他们明白,只使用数据库备份技术实现这样的要求是不现实的,需要做更大的投入,引入镜像技术。
因为最大丢失数据的时间段是两次备份之间的时间间隔,那么备份做得越多,数据丢失的次数就越少。然而,越是频繁地进行备份,就需要更多的投入。与以下因素有关:
备份越多,要管理的备份文件就越多,恢复数据库时要恢复的文件越多。应建立合理的备份管理系统。
尽管备份不会阻碍数据库的正常运行,但它会产生一系列硬盘读取和写入。如果服务器本身的I/O非常繁忙,那么备份操作将进一步影响数据库的性能。为了避免这类问题,需要增强服务器的硬盘读写能力。
由于各种因素,备份不可避免地会失败。备份越勤,发生故障的可能性越大。管理人员及时处理错误,使备份任务正常运行。这样对于管理人员的要求更高。
在你对将会投入多少人力和物力之后,你就可以决定采取哪种补充战略。通过日志备份,数据库可以恢复到故障点或特定时间点。因此,在备份策略中,日志备份起着非常重要的作用。但只能在完整恢复模式和某些大容量日志恢复模式的数据库上执行日志备份。建立备份策略时,首先要决定是否要备份日志。如需备份日志,则数据库恢复模式选择为完整模式。(大容量恢复模式不能总保证日志备份成功,因此一般不推荐在生产环境中使用)如果不做日志备份,数据库模式就需要简单的设置,否则会遇到日志文件无限增长的问题。
在简单恢复模式下,无法进行日志备份。因此它只支持最简单的备份和恢复方法,易于管理。但是,在没有日志备份的情况下,数据库只能恢复到上一次备份结束。在出现灾难时,数据库上一次备份之后所做的所有数据修改都会丢失。使用简单恢复模式,工作损失的风险随着时间的增长而增加,直到进行下一次完全备份或差异备份为止。所以,建议你定期做足够的备份,以免丢失大量数据。与此同时,频率不能太高,使得备份变得难以管理。
为减少风险,可以引入差异备份。利用差异数据库备份对数据库完全备份进行补充,是一种降低工作损失风险的备份策略。首次数据库备份后,连续建立3个差异备份。第三次差异备份之后,执行数据库完全备份,建立新的差异基准。由于差异备份通常比完整备份开销小,因此可以比较频繁地运行。这类备份策略可用于数据量小、可以忍受长期数据丢失的数据库上。
上述两种备份策略的优点,是无论备份还是恢复,管理起来都比较简单。但无论是数据库的完全备份,还是差异备份,都不能以较频繁的频率进行,一般只能在晚上进行。若资料库比较大,或不允许较长时间的数据丢失,则这种备份策略无法满足要求。需要引入日志备份,建立更复杂但功能更强的备份恢复策略。
选择完全恢复模式后,您可以使用日志备份。因为日志备份只复制上一次日志备份之后的所有日志记录,开销将比数据库备份少很多。可定义备份以非常频繁的频率(5分钟或更短)进行备份,以达到在最大限度避免失败时数据丢失的目的。采用日志备份的好处是,您可以将数据库恢复到日志备份中所包含的任意时间(“时间恢复”)。假设能够在出现严重故障的情况下备份活动日志,那么可以将数据库恢复到不会出现数据丢失的故障点。用日志备份的缺点是它们的数量太多,并且当恢复备份时,需要严格按照生成的顺序进行恢复。备份中心不能丢失或跳转。因此,日志备份做的越多,恢复所需的时间就越长,管理的复杂性也越高。
如果完成了第一次完整数据库备份,并开始常规日志备份,则潜在的工作丢失风险存在时间,这只是数据库损坏时点,到最后一个常规日志备份时。所以,建议经常进行日志备份,以将工作损失的风险限制到业务需求允许的范围。发生错误时,您可以尝试备份日志尾部(没有备份的日志)。若尾部日志备份成功,则可以通过将数据库恢复到故障点来避免任何工作损失。因此,这个备份程序的好处也是显而易见的。
但上面提到的备份计划的一个主要缺点是,在灾难发生之后有大量的日志文件需要恢复。假定每小时进行一次日志备份,每星期天进行数据库备份,如果灾难发生在周五,就必须恢复数百个日志备份。这需要大量的工作和花费大量的时间。为最小化恢复时间,还可以对数据库进行一系列差异性备份。
完全文件备份指定备份一个或多个文件或文件组中的所有数据。完全恢复模式下,跨越所有文件备份的一套完整文件备份和日志备份,相当于一次完整数据库备份。利用文件备份可以更快地恢复被破坏的文件,而不需要恢复数据库的其他部分。举例来说,如果数据库包含多个位于不同磁盘上的文件,在其中一个磁盘出现故障时,只需恢复故障磁盘上的文件即可。
默认情况下,文件备份包含足够的日志记录,可以在备份操作结束时进行前滚。(但在一个简单恢复模式下,所有的读/写文件都必须一起备份,而不是一个一个地指定每个读/写文件或文件组)相对于数据库备份,文件备份有以下优点:
能更快地从隔离介质故障中恢复。损坏的文件能够快速恢复。
文件备份与完全数据库备份相比(对于大型数据库来说变得难以管理),为计划和介质处理增加了灵活性。对于包含具有不同更新特征的数据的大型数据库来说,文件或文件组的更灵活的备份也非常有用。
相对于完全数据库备份,文件备份的主要缺点是管理复杂。若其中一个被破坏的文件没有备份,媒体故障可能导致无法恢复整个数据库。所以,必须保持一组完整的文件备份,对于完整/大容量日志恢复模式,还必须维护一个或多个日志备份,这些备份至少覆盖第一个完整文件备份到最后一个完整备份之间的时间间隔。维持和跟踪这些完整备份是一项非常耗时的工作,所需的空间可能会超过一个完整数据库备份所需的空间。因此,这一备份策略在实际使用中还是比较少见的。唯有在超大数据库的管理下,才能发挥其不可替代的优势。
完全恢复模式下,一套完整的文件备份相当于覆盖所有从第一个文件备份开始的文件备份的足够日志备份,就相当于一个完整的数据库备份。通过文件备份和日志备份来恢复数据库的操作是非常复杂的。所以,如果可能的话,最好在第一个备份文件之前执行完整数据库备份和日志备份。在创建第一个数据库备份之后,您可以开始进行事务日志备份。根据设置的时间间隔执行事务日志备份日程。以最适合资料库业务需求的时间间隔执行备份。
完全恢复模式下,恢复文件组备份时,不仅需要恢复文件组备份本身,而且需要依次恢复从上一次完整数据库备份到恢复的目标时间点之前的所有日志备份,以确保文件与数据库的其余部分保持一致。因此将有大量的要恢复的事务日志备份。为了避免这一点,考虑使用差异文件备份。但是这会让整个备份计划更难管理。那就是为什么文件备份很少使用的重要原因。但当管理大型数据库时,这可能是唯一的选择。以上就是数据库备份和恢复步骤的相关内容,感谢您的阅读。
[免责声明]
文章标题: 数据库备份,数据库备份和恢复步骤
文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。