310 likes | 420 Views
项目十 公司管理数据库系统的数据备份和恢复. 终极目标:利用数据库的备份和恢复功能来维护公司管理数据库系统数据的安全性和完整性。. 一、教学目标 1 .会利用企业管理器和 Transact — SQL 语句进行数据库备份 2. 会利用企业管理器和 Transact — SQL 语句恢复数据库 二、工作任务 在合理设置基础上,能利用企业管理器和 Transact — SQL 语句对公司管理数据库系统进行数据库的备份和恢复。 1 .创建 companyinfo 数据库的备份文件,文件名为 databak.bak ,保存在 C: 下。
E N D
项目十 公司管理数据库系统的数据备份和恢复 终极目标:利用数据库的备份和恢复功能来维护公司管理数据库系统数据的安全性和完整性。
一、教学目标 1.会利用企业管理器和Transact—SQL语句进行数据库备份 2. 会利用企业管理器和Transact—SQL语句恢复数据库 二、工作任务 在合理设置基础上,能利用企业管理器和Transact—SQL语句对公司管理数据库系统进行数据库的备份和恢复。 1.创建companyinfo数据库的备份文件,文件名为databak.bak,保存在C:\下。 2.将companyinfo数据库的备份文件C:\databak.bak恢复到companyinfo数据库。
(一)备份和恢复的概念 备份就是数据的副本。存储在计算机硬盘以外的 某个地方。 为了避免因删除操作、破坏性病毒、自然灾害、硬件系统或软件系统的质量低劣或盗窃等,造成数据库的破坏,因此必须对数据库进行备份。备份就是制作数据库结构和数据的拷贝,以便在数据库遭到破坏的时候能够修复数据库。
数据库的恢复 数据库的恢复模型是数据库遭到破坏时恢复数据库中数据的数据存储方式。每一种恢复模型都按照不同的方式维护数据库中的数据和日志。
1.备份类型(1) 在Microsoft SQL Server 2000系统中,提供了四种备份类型: (1)(完整)数据库备份。 数据库备份是指创建备份完成时,数据库内存在的数据的副本。数据库备份包括所有的数据以及数据库对象。与事务日志备份和差异数据库备份相比,数据库备份中的每个备份使用的存储空间更多。
1.备份类型(1) (2)差异数据库备份 差异数据库备份只记录自上次数据库备份后发生更改的数据。差异数据库备份比数据库备份小而且备份速度快,因此可以更经常地备份,经常备份将减少丢失数据的危险。
1.备份类型(1) (3)事务日志备份 事务日志备份是自上次备份事务日志后对数据库执行的所有事务的一系列记录。可以使用事务日志备份将数据库恢复到特定的即时点(如输入多余数据前的那一点)或恢复到故障点。
1.备份类型(1) (4)文件和文件组备份 可以备份和还原数据库中的个别文件。这种备份可以只还原已损坏的文件,而不用还原数据库的其余部分,从而加快了恢复速度。例如,如果数据库由几个位于不同磁盘上的文件组成,当其中一个磁盘发生故障时,只需还原发生了故障的磁盘上的文件。
2.备份设备 在进行备份以前首先必须指定或创建备份设备,备份设备是硬盘或其它磁盘存储媒体上的文件,与常规操作系统文件一样。引用磁盘备份设备与引用任何其它操作系统文件一样。可以在服务器的本地磁盘上或共享网络资源的远程磁盘上定义磁盘备份设备,磁盘备份设备根据需要可大可小。最大的文件大小相当于磁盘上可用的闲置空间。
物理和逻辑设备 SQL Server 使用物理设备名称或逻辑设备名称标识备份设备。 物理备份设备是操作系统用来标识备份设备的名称,如 C:\Backups\companyinfo\Full.bak。 逻辑备份设备是用来标识物理备份设备的别名或公用名称。逻辑设备名称永久地存储在 SQL Server 内的系统表中。 例: 逻辑设备名称可以是 companyinfo_Backup,而物理设备名称则是 C:\Backups\companyinfo\Full.bak。 说明:备份或还原数据库时,可以交替使用物理或逻辑备份设备名称。
1)使用企业管理器创建逻辑磁盘备份设备 • 展开服务器上的【管理】文件夹。 • 右击【备份】,执行【新建备份设备】命令。弹出 【备份设备属性-新设备】 • 说明:单击“浏览”按钮,则弹出的对话框。选择文件夹,输入要求的文件名,按“确定”按钮即可。 • 在【名称】框中输入该命名备份设备的名称。 • 单击【文件名】,然后输入磁盘备份设备所使用的文件名或单击“浏览”按钮显示【备份设备位置】对话框,再选择磁盘备份设备所使用的本地计算机上的物理文件。 • 单击【确定】创建备份设备。
2)使用T_sql语句 系统存储过程 sp_addumpdevice创建数据库备份设备语法: sp_addumpdevice ‘设备类型', '逻辑名称', '物理名称‘ 【例1】在D:\SQL\BACKUP下创建一个名comp_backup的磁盘类型的备份设备。 EXEC sp_addumpdevice 'disk', 'comp_backup', 'D:\data\jxcjgl_backup.bak'
3、备份的策略与规划 备份策略包括确定备份类型、备份频率何时备份、备份哪些内容、备份到何处以及如何备份等。 设计备份策略的指导思想是:以最小的代价恢复数据。 分析可用性和恢复要求。 选择恢复模型 • 简单恢复模型 • 完全恢复模型 • 大容量日志记录恢复模型
4、备份数据库 • 企业管理器 • 备份向导 • Transaction-sql语句
1) 使用企业管理器创建数据库备份 步骤: (1)打开企业管理器,展开服务器,选中指定的数据库。 (2)右键单击要进行备份的数据库图标,在弹出的快捷菜单中选择【所有任务】,再选择【备份数据库】。 (3)选择备份的数据库,输入备份的名称和备份的描述,选择备份的类型。 (4)单击【添加】按钮选择要备份的设备。 (5)选择在设备上进行操作的方式。 (6)对备份的时间表进行设置。 (7)单击【确定】按钮,完成数据库备份。
任务1 创建companyinfo数据库的备份文件databak.bak。 方法一 利用企业管理器步骤如下: 1.在企业管理器中打开【数据库】文件夹,右击companyinfo,在弹出的快捷菜单中执行【备份数据库】命令。 2.打开备份对话框中的【常规】选项卡,在“备份”选项栏内选择“数据库-完全”单选按钮。 3.单击“添加”按钮,在打开的对话框中选择备份目的。选择“文件名”,单击“浏览”按钮,这里选择文件夹c:\,并输入备份文件名databak.bak。 4.单击“确定”按钮即可创建数据库备份文件。
2)使用T-SQL语句创建数据库备份 使用 BACKUP DATABASE 命令。 语法: BACKUP DATABASE 数据库名 [文件或文件组[ ,...n ]] TO 备份设备 [ ,...n ]
【例2】假定当前已存在mynwind数据库,创建用于存放mynwind 数据库完整数据库备份mynwind_1。 USE mynwind EXEC sp_addumpdevice 'disk', 'mynwind_1', disk ='c:\backup\ lwzz _1.dat' --进行全面备份 BACKUP DATABASE mynwind TO mynwind_1
【例3】可以用逻辑或物理设备名称执行 BACKUP 语句。 -- Specify the logical backup device. BACKUP DATABASE companyinfo TO companyinfo_Backup -- Or, specify the physical backup device. BACKUP DATABASE companyinfo TO DISK = 'C:\Backups\companyinfo\Full.Bak'
任务1 利用Transact—SQL语句创建companyinfo数据库的备份文件 USE companyinfo GO /*创建备份设备*/ EXEC sp_addumpdevice 'disk', 'dumps', 'c:\ databak.bak' /*备份数据库*/ BACKUP DATABASE companyinfo TO dumps GO
5、恢复数据库 • 1)利用企业管理器恢复数据库 • 打开企业管理服务器,展开服务器组,展开服务器。 • 右击数据库,在快捷菜单中选【所有任务】,再选【还原数据库】。 • 在【还原为数据库】列表框中,选择要恢复的数据库名称。 • 在还原选项栏中单击【数据库】单选按钮。 • 在【要还原的第一个备份】列表中,选择要恢复的备份集。 • 在【还原】列表中,单击要恢复的数据库备份。 • 单击【确定】按钮,则开始恢复。
任务2 将c:\databak.bak文件恢复到companyinfo数据库。 方法一 利用企业管理器将 1.打开【数据库】文件夹,右击companyinfo,在弹出的快捷菜单,从中选择【还原数据库】。 2.在打开的“还原数据库”对话框中设置选项。在“还原”选择“从设备”。单击“选择设备”按钮。 3.单击“选择设备”按钮,请您在弹出的对话框中,从Windows中指定c:\databak.bak. 4.在【还原数据库】的“选项”中,选择“在现有数据库上强制还原”。 5.单击“确定”按钮即可。
2) 利用Transact—SQL语句恢复数据库 除了企业管理器还原数据库外,可以是用Transact—SQL语句RESTORE命令恢复数据库。 1.恢复数据库的语法格式为: RESTORE DATABASE { DATABASE_NAME | @DATABASE_NAME_VAR } < FILE_OR_FILEGROUP > [ ,...N ] [ FROM < BACKUP_DEVICE > [ ,...N ] ] 2. 恢复事务日志的语法格式为: RESTORE LOG { DATABASE_NAME | @DATABASE_NAME_VAR } [ FROM < BACKUP_DEVICE > [ ,...N ] ]
【例4】假定当前已存在lwzz数据库的恢复完整数据库备份lwzz _1,则相应的恢复命令如下: RESTORE DATABASE lwzz FROM lwzz _1
方法二 利用Transact—SQL语句恢复到companyinfo数据库 程序清单: USE companyinfo GO RESTORE DATABASE companyinfo FROM DISK='c:\databak.bak' GO
任务3 为了维护公司管理数据库的完整性,我们制定一个备份规划,每周星期天作完整数据库备份,每天做差异备份,每一小时做事务日志备份,具体规划如下: 星期天早晨8:00: 完整数据库备份 每隔1小时 : 事务日志备份 星期一早晨8:00: 差异备份 每隔1小时 : 事务日志备份 星期二早晨8:00: 差异备份 每隔1小时 : 事务日志备份 … 星期天早晨8:00: 完整数据库备份
任务3 步骤(1) • 一、数据备份 1、创建备份设备 2、建立数据库完整备份 3、查看备份数据 4、对数据库的数据进行更改 5、建立差异备份 6、更改数据库数据 7、建立第一个事务日志备份 8、更改数据库数据 9、建立第二个事务日志备份 10、查看备份设备中的内容
任务3 步骤(2) • 二、数据库还原 1、由数据库完整备份还原数据库 2、由数据库完整备份及差异备份还原数据库 3、由三种备份集结合使用 1)恢复完整备份集 2)还原差异备份集 3)还原第一个事务日志备份集 4)还原第二个事务日志备份集 5)检查还原后的数据
(二)数据库分离与附加 数据库分离 • 一个数据库只能被一个服务器管理,通过分离数据库可以将数据库与服务器分离,分离后可以将数据库附加到别的服务器。 数据库附加 • 附加数据库就是将存放在硬盘上数据库文件加入到SQL Server服务器中。
1、分离数据库的步骤: • (1)打开企业管理服务器,展开服务器组,展开服务器。 • (2)展开数据库文件夹,右键单击要分离的数据库,选【所有任务】,再选【分离数据库】命令。 • (3)在随后出现的分离数据库对话框中单击【确定】按钮,则完成数据库分离。
2、附加数据库的步骤: (1)打开企业管理服务器,展开服务器组,展开服务器。 (2)右键单击数据库,选【所有任务】,再选【附加数据库】命令。 (3)在随后出现的附加数据库对话框中,选择要附加的数据库的主数据文件名及存放位置。 (4)单击【确定】按钮,完成数据库附加。