第第88章数据保护之章数据保护之数据库的备份与还原数据库的备份与还原备份数据库备份数据库二、二、恢复数据库恢复数据库三、三、备份和还原构架备份和还原构架一、一、数据库的维护数据库的维护四、四、一、备份和还原构架一、备份和还原构架为什么要备份和还原?因为故障是不可避免的,而故障会带来数据的丢失和损坏。为了保证数据库的安全性,防止数据库中数据的意外丢失,应经常对数据库中的数据进行备份,以便在数据库出故障的时候进行及时有效的恢复。计算机硬件故障系统软件和应用软件的错误操作员的失误病毒或恶意的破坏..恢复操作的基本原理:冗余利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据恢复机制涉及的关键问题1.如何建立冗余数据数据备份登录日志文件备份2.如何利用这些冗余数据实施数据库恢复什么是日志文件?什么是日志文件?日志文件(log)是用来记录事务对数据库的更新操作的文件。必须先写日志文件,后写数据库写日志文件操作:把表示这个修改的日志记录写到日志文件。写数据库操作:把对数据的修改写到数据库中故障发生点静态转储运行事务↓正常运行─┼──────┼──────────┼──TaTbTf登记日志文件└───────────┴──重装后备副本利用日志文件恢复事务继续运行介质故障恢复─────────┴-----─-------┴──────登记日志文件└──────为什么要先写日志文件写数据库和写日志文件是两个不同的操作,在这两个操作之间可能发生故障。如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了;如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性DBADBA应制定备份和还原计划:应制定备份和还原计划:应定期进行数据转储,制作后备副本。但转储又是十分耗费时间和资源的,不能频繁进行。DBA应该根据数据库使用情况确定适当的转储周期和转储方法。例:每天晚上进行动态增量转储每周进行一次动态海量转储每月进行一次静态海量转储(一)备份概述(一)备份概述备份内容系统数据库用户数据库事务日志备份方式(备份类型)完全数据库备份差异数据库备份事务日志备份数据库文件和文件组备份二、备份数据库二、备份数据库备份设备类型磁盘设备磁带设备其它设备1.完全数据库备份备份数据库的所有表的数据及模式,以及对应的文件结构,包括对事务日志中的事务进行备份。2.差异数据库备份只记录自上次完全数据库备份后发生更改的数据。差异备份的数据量比完全备份小而且备份速度快,因此可以更经常地备份,经常备份将减少丢失数据的危险。3.事务日志备份事务日志是自上次备份事务日志后对数据库执行的所有事务的一系列记录。事务日志备份只考虑在日志中所记录的变化,是基于逻辑操作的备份。可以使用事务日志备份将数据库恢复到特定的即时点或恢复到故障点。4.数据库文件和文件组备份只备份特定的文件或文件组,常用于超大型数据库的备份。SQLServer恢复模型的备份类型备份模型数据库数据库差异事务日志文件或文件差异简单必需可选不允许不允许完全必需(或文件备份)可选必需可选大容量日志记录必需(或文件备份)可选必需可选1。完全数据库备份和恢复2。完全+差异备份和恢复3。完全+日志备份和恢复(这是DBA常采取的方法)如何选择备份和恢复模型?(二)(二)创建和删除备份设备创建和删除备份设备磁盘备份设备:指硬盘或其它磁盘存储介质上的文件,与常规操作系统文件一样。可以在本地服务器的磁盘上或远程共享磁盘上定义磁盘备份设备。磁带备份设备:磁带设备只能物理连接到运行SQLServer实例的计算机上。SQLServer不支持备份到远程磁带设备上。在进行备份以前一般要指定或创建备份设备,备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质。包括磁盘和磁带设备。物理设备名称:是操作系统用来标识备份设备的名称,如“D:\MyBackups\Student.bak”。逻辑设备名称:是用来标识物理备份设备的别名或公用名称,用以简化物理设备名称。例如...