1、12.1 备份概述 12.2 备份数据库 12.3 恢复数据库,第12章 数据备份与恢复,1 备份概述,1.1 备份的概念 1.2 备份类型 1.3 备份设备 1.4 备份的策略与规划,备份:是指将当前的数据库系统、数据文件或日志文件复制到一个专门的备份服务器、活动磁盘或者其他能长期存储数据的介质上,作为副本。 数据库备份:记录了在进行备份这一操作时数据库中所有数据的状态。一旦数据库因意外而遭损坏,这些备份文件可用来恢复数据库。,1.1 备份的概念,(1)完整数据库备份(2)差异数据库备份(3)事务日志备份(4)文件和文件组备份,1.2 备份类型,它备份包括事务日志的整个数据库,是数据库的完整
2、副本。,仅复制自上一次完整数据库备份之后修改过的数据库页。,仅复制事务日志。日志备份序列提供了连续的事务信息链,可支持从数据库、差异或文件备份中快速恢复。,当时间限制使得完整数据库备份不切实际时,可使用BACKUP 备份数据库文件和文件组,而不是备份完整数据库,备份设备是指用于存放备份数据的设备。创建备份时,必须选择备份设备。,1.3 备份设备,1磁盘设备设备是硬盘或其他磁盘存储媒体上的文件,与常规操作系统文件一样。可以在磁盘上定义磁盘备份设备。,2命名管道设备是微软专门为第三方软件供应商提供的一个备份和恢复方式,若要将数据备份到一个命名管道设备,必须在BACKUP语句中提供管道的名字。,3磁
3、带设备设备的用法与磁盘设备相同。不支持备份到远程磁带设备上。,4物理和逻辑设备 物理备份设备是操作系统用来标识备份设备的名称,逻辑备份设备用来标识物理备份设备的别名或公用名称。,备份策略包括确定备份类型、备份频率何时备份、备份哪些内容、备份到何处以及如何备份等。设计备份策略的指导思想是:以最小的代价恢复数据。分析可用性和恢复要求。选择恢复模型,1.4 备份的策略与规划,简单恢复模型 完全恢复模型 大容量日志记录恢复模型,2 备份数据库,2.1 数据库备份设备 2.2 备份数据库,1使用企业管理器创建逻辑磁盘备份设备(1)打开企业管理器,展开服务器上的【管理】文件夹。 (2)右键单击【备份】,在
4、弹出的快捷菜单中选【新建备份设备】命令。 (3)在打开的对话框的【名称】框中输入备份设备的名称。 (4)单击【文件名】,然后输入磁盘备份设备所使用的文件名,或者单击【浏览.】按钮显示【备份设备位置】对话框,再选择磁盘备份设备所使用的本地计算机上的物理文件。 (5)单击【确定】按钮,完成创建备份设备。,2.1 数据库备份设备,2使用系统存储过程 sp_addumpdevice创建数据库备份设备语法格式:sp_addumpdevice 设备类型, 逻辑名称, 物理名称 【例12.1】 在f:下创建一个名为jxcjgl_backup的磁盘类型的备份设备。EXEC sp_addumpdevice di
5、sk, jxcjgl_backup,f:jxcjgl_backup.bak,2.1 数据库备份设备,1使用企业管理器创建数据库备份步骤: (1)打开企业管理器,展开服务器,选中指定的数据库。 (2)右键单击要进行备份的数据库图标,在弹出的快捷菜单中选择【所有任务】,再选择【备份数据库】。 (3)选择备份的数据库,输入备份的名称和备份的描述,选择备份的类型,。 (4)单击【添加】按钮选择要备份的设备。 (5)选择在设备上进行操作的方式。 (6)对备份的时间表进行设置。 (7)单击【确定】按钮,完成数据库备份。,2.2 备份数据库,2使用T-SQL语句创建数据库备份使用 BACKUP DATABA
6、SE 命令BACKUP DATABASE 数据库名 文件或文件组 ,.n TO 备份设备 ,.n -【例12.2】创建备份设备jxcjgl_backup,将教学成绩管理数据库备份到该设备。 backup database 教学管理数据库 to jxcjgl_backup go 或 backup database 教学管理数据库 to disk=f:jxcjgl_backup.bak,2.2 备份数据库,3 恢复数据库,3.1 检查点 3.2 恢复数据库,检查点是建立在日志文件中的一类特殊的记录 检查点记录的内容包括:建立检查点时刻所有正在执行的事务清单这些事务最近一个日志记录的地址 当事务在一
7、个检查点之前提交,该事务对数据库所做的修改一定都已写入数据库,在进行恢复处理时,没必要对该事务进行重做。 当系统发生故障时,恢复子系统将根据事务的不同状态采取不同的恢复策略:对于在检查点之后故障发生之前提交的事务要重做;对于在检查点之前提交的事务不再重做;对于故障发生时还未完成的事务予以撤销。 检查点最大限度地减少数据库完全恢复时所必须执行的日志部分。 SQL Server 2000 始终生成自动检查点。,3.1 检查点,1利用企业管理器恢复数据库(1)打开企业管理服务器,展开服务器组,展开服务器。 (2)右击数据库,在快捷菜单中选【所有任务】,再选【还原数据库】。 (3)在【还原为数据库】列表框中,选择要恢复的数据库名称。 (4)在还原选项栏中单击【数据库】单选按钮。 (5)在【要还原的第一个备份】列表中,选择要恢复的备份集。 (6)在【还原】列表中,单击要恢复的数据库备份。 (7)单击【确定】按钮,则开始恢复。,3.2 恢复数据库,2使用T-SQL语句恢复数据库语法格式:RESTORE DATABASE 数据库名 FROM 备份设备 ,.n 【例12.3】恢复教学成绩管理数据库 restore database 教学管理数据库 from jxcjgl_backup,3.2 恢复数据库,