资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第4章 数据库的备份恢复与分离附加,备份数据库,恢复数据库,数据库分离与附加,练习,第4章 数据库的备份恢复与分离附加,11/18/2024,1,备份和恢复是数据库管理人员维护数据库安全性和完整性的重要操作。,备份是恢复受损数据库最容易、把意外损失降低到最小的保障方法。没有备份,所有的数据都有可能丢失。备份可以防止因表和数据库遭受破坏、介质失效或用户错误而造成的数据灾难。,恢复是在意外发生之后,利用备份来恢复数据库的操作。,良好的备份策略是数据库安全运行的保证,是每一个数据库管理员必须认真调查和仔细规划才能完成的任务。,备份数据库,11/18/2024,2,备份就是对SQL Server数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。,数据库的破坏是难以预测的,因此必须采取能够恢复数据库的措施。一般地,造成数据丢失的常见原因包括:误执行了删除操作;破坏性病毒;自然灾害;硬件系统或软件系统的质量低劣;盗窃等。,为了维护数据库数据的完整,,SQL Server 2000,提供了一套功能强大的数据备份和恢复工具。确保能够在系统出现问题时,及时恢复数据库中的数据。,备份是系统管理员的日常工作。,但是,只有数据库备份是远远不够的,数据库恢复也是一项不可缺少的工作,是为了以后能够顺利地将破坏了的数据库安全地恢复的基础性工作。,在系统中,应该指定专人负责数据库的备份工作。只有下列角色的成员才可以备份数据库:,固定服务器角色sysadmin(系统管理员),固定数据库角色db_owner(数据库所有者),固定数据库角色db_backupoperator(数据库备份执行者),11/18/2024,3,备份设备类型,备份类型,备份的策略,操作,数据库备份设备,备份数据库,11/18/2024,4,物理设备和逻辑设备,SQL Server使用物理设备或逻辑设备两种方式来标识备份设备。,物理备份设备名,主要用来供操作系统对备份设备进行引用和管理,如:C:BackupsAccountingFull.bak。,逻辑备份设备,是物理备份设备的别名,通常比物理备份设备更能简单、有效地描述备份设备的特征。逻辑备份名被永久保存在SQL Server的系统表中。使用逻辑备份设备名的好处在于可以用一种相对简单的方式实现对物理逻辑设备的引用。例如,一个物理备份设备名可能为C:BackupsAccountingFull.bak,但使用逻辑设备备份名则可以缩写为Accounting_Backup。,在执行数据库的备份或恢复操作过程中,用户既可以使用逻辑备份设备名又可以使用物理备份设备名。,11/18/2024,6,备份类型,备份是对,SQL Server 2000,的数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。,SQL Server 2000,只允许系统管理员、数据库所有者和数据库备份执行者备份数据库。,SQL Server 2000,对所要备份内容的选项设置,提供了四种不同的方式:,完全数据库备份:数据库的完整副本。,差异备份或称增量备份:仅复制自上一次完整数据库备份之后修改过的数据库页。,事务日志备份:仅复制事务日志。,数据库文件和文件组备份:仅允许恢复数据库中位于故障磁盘上的那部分。,11/18/2024,7,SQL Server 2000,提供了四种不同的备份方式,具体介绍如下。,(1),完全数据库备份,(,Database-complete)。,是对所有数据库操作和事务日志中的事务进行备份,它可用作系统失败时恢复数据库的基础。完全数据库备份在备份过程中需要占用更多的时间和空间。,(2),差异备份,或称增量备份(,Database-differential)。,差异备份是对最近一次数据库备份以来发生的数据变化进行备份。差异备份的优点是速度快,需要的时间少。应该经常进行差异备份,可以降低丢失数据的风险。,仅复制自上一次完整数据库备份之后修改过的数据库页。,单独一个差异备份无法进行数据库的恢复,需要两个步骤:1)恢复完全数据库备份。2)恢复差异备份。,11/18/2024,8,(4),数据库文件和文件组备份,(,)。,当数据库非常庞大时,可以执行数据库文件或文件组备份,文件备份可以备份部分数据库,而不是整个数据库。当,SQL Server 2000,系统备份文件或文件组时,可以指定需要备份的文件,最多指定16个文件或文件组。,当时间限制使得完整数据库备份不切实际时,可使用,BACKUP,备份数据库文件和文件组,而不是备份完整数据库。,11/18/2024,10,备份策略包括确定备份类型、备份频率何时备份、备份哪些内容、备份到何处以及如何备份等。,设计备份策略的指导思想是:以最小的代价恢复数据。,定期备份数据库是最稳妥的防止磁盘故障(主要是系统发生故障)的方法,它能有效的恢复数据,这是一种比较兼价的保险形式,同时也是最简单的确保能恢复大部分信息的方法。,建立一个完整的备份策略需要考虑很多因素,包括:,备份周期。,使用静态备份还是动态备份。,仅使用全备份还是共同使用全备份和增量备份。,使用什么介质。,使用人工备份还是设计好的自动备份程序。,检验备份完整性的周期。,备份存储的空间是否防窃、防磁干扰、防火。,是否指定其他人实行备份,他们是否享有必要的登录号和口令。,在负责备份和恢复的主要人员缺席的情况下,是否有其他人能代替他们。,备份的策略,11/18/2024,11,由于SQL Server 2000支持在线备份,所以通常情况下可以一边进行备份,一边进行其他操作,但是在备份过程中不允许执行以下操作:,(1)创建或删除数据库文件。,(2)创建索引。,(3)执行非日志操作。,(4)自动或手工缩小数据库或数据库文件大小。,11/18/2024,13,11/18/2024,15,2使用系统存储过程 sp_addumpdevice创建数据库备份设备,语法格式:,sp_addumpdevice,device_type,logical_name,physical_name,其中:device_type表示设备类型,其值可为disk、pipe和tape;,logical_name表示设备的逻辑名称;,physical_name表示设备的实际名称(路径和文件名)。,【例】创建一个通过网络连接的备份设备,USE master,GO,EXECUTE sp_addumpdevice disk,networkdevice,servernamesharenamepath,GO,11/18/2024,16,删除备份设备,使用系统存储过程,sp_dropdevice,语句来删除备份设备。,【示例】,使用系统存储过程删除备份设备“备份设备_图书,BACK”。,USE master,GO,EXECUTE sp_dropdevice,备份设备_图书,BACK,11/18/2024,18,1使用企业管理器创建数据库备份,步骤:,(1)打开企业管理器,展开服务器,选中指定的数据库。,(2)右键单击要进行备份的数据库图标,在弹出的快捷菜单中选择【所有任务】,再选择【备份数据库】。,(3)选择备份的数据库,输入备份的名称和备份的描述,选择备份的类型。,(4)单击【添加】按钮选择要备份的设备。,(5)选择在设备上进行操作的方式。,(6)对备份的时间表进行设置。,(7)单击【确定】按钮,完成数据库备份。,操作:备份数据库,11/18/2024,19,11/18/2024,20,重写:选择在设备上进行操作的方式,追加到媒体:将新的备份添加到备份设备中以前备份的后面(不影响原来的备份),改写现有媒体:用新的备份覆盖原来的备份,调度:用户可以拟定自动进行备份操作的时间,11/18/2024,21,2使用T-SQL语句创建数据库备份,使用 BACKUP DATABASE 命令:,BACKUP DATABASE,数据库名 文件或文件组,.n,TO,备份设备 ,.n,WITH DIFFERENTIAL,其中,WITH DIFFERENTIAL表示增量备份,【示例】先创建d:sqlbackup目录,将教学成绩管理数据库备份到上例创建备份设备jxcjgl_backup该设备。,backup database 教学成绩管理数据库 to jxcjgl_backup,【示例】将教学成绩管理数据库备份到磁盘文件中。,backup database 教学成绩管理数据库,to disk=d:sqlbackupjxcjgl_backup.bak,11/18/2024,22,A.备份整个 MyNwind 数据库,说明,MyNwind,数据库仅用于演示。,下例创建用于存放,MyNwind,数据库完整备份的逻辑备份设备。,-Create a logical backup device for the full MyNwind backup.,USE master,EXEC sp_addumpdevice disk,MyNwind_1,DISK=c:Program FilesMicrosoft SQL ServerMSSQLBACKUPMyNwind_1.dat,-Back up the full MyNwind database.,BACKUP DATABASE MyNwind TO MyNwind_1,B.备份数据库和日志,本例创建了一个数据库和日志的完整备份。将数据库备份到称为,MyNwind_2,的逻辑备份设备上,然后将日志备份到称为,MyNwindLog1,的逻辑备份设备上。,说明,创建逻辑备份设备需要一次完成。,-Create the backup device for the full MyNwind backup.,USE master,EXEC sp_addumpdevice disk,MyNwind_2,c:Program FilesMicrosoft SQL ServerMSSQLBACKUPMyNwind_2.dat,-Create the log backup device.,USE master,EXEC sp_addumpdevice disk,MyNwindLog1,c:Program FilesMicrosoft SQL ServerMSSQLBACKUPMyNwindLog1.dat,-Back up the full MyNwind database.,BACKUP DATABASE MyNwind TO MyNwind_2,-Update activity has occurred since the full database backup.,-Back up the log of the MyNwind database.,BACKUP LOG MyNwind TO MyNwindLog1,11/18/2024,24,恢复数据库,数据库的恢复模型,恢复数据库,的,方法,11/18/2024,25,数据库的恢复模型是数据库遭到破坏时恢复用于数据库中数据的数据存储方式。每一种恢复模型都按照不同的方式维护数据库中的数据和日志。,在Microsoft SQL Server 2000系统中,提供了三种数据库的恢复模型:,完全恢复模型,大容量日志记录的恢复模型,简单恢复模型,数据库的恢复模型,11/18/2024,26,大容量日志记录的恢复模型,大容量日志记录的恢复模型也使用数据库备份和日志备份来恢复数据库,比FULL模型少了一些恢复选项,但是进行批操作(bulk operation)时它不会严重影响性能。在进行某些批操作时,由于它只需记录操作的结果,因此它使用了较少的记录空间(即事务日志耗费的磁盘空间远远小于完全恢复模型)。然而,用这种模型,你不能恢复数据库中的特定标记,也不能仅仅恢
展开阅读全文