版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL Server 2005数据库管理系统第十八讲 SQL Server备份和恢复引入 为了防止数据库系统在运行过程中,由于一些不可预测的因素而导致数据丢失等问题,数据库的备份与恢复,在实际的数据库与维护中,就具有十分重要的意义。学习目标数据库备份和恢复的作用数据库备份的方法数据库恢复的方法知识重、难点分析 重点:数据库备份的方法数据库恢复的方法难点:数据库备份的方法数据库恢复的方法备份和恢复: 备份和恢复组件是SQL Server 2000 的重要组成部分。备份就是指SQL Server 2000 数据库或事务日志进行拷贝,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态 ,如果
2、数据库因意外破坏而损坏,这些备份文件将在数据库恢复时用来恢复数据库。备份权限许可: 执行备份操作必须拥有对数据库备份的权限许可,SQL Server只允许系统管理员、数据库所有者和数据库备份执行者备份数据库。 备份的概念 由于SQL Server 2000支持在线备份,所以通常情况下可以一边进行备份,一边进行其他操作,但是在备份过程中不允许执行以下操作: (1)创建或删除数据库文件。 (2)创建索引。 (3)执行非日志操作。 (4)自动或手工缩小数据库或数据库文件大小。 如果以上各种操作正在进行当中,且准备进行备份,则备份处理将被终止。如果在备份过程中,打算执行以上任何操作,则操作将失败而备份
3、继续进行。备份的概念数据备份: 数据库备份 事务日志备份 其中,数据库备份是创建数据库的数据副本。事务日志是数据库执行所有事务的一系列记录,它的起始点是自上次备份事务日志后对数据库执行的所有事务操作。通过使用事务备份可以将数据库恢复到特定的即时点,或恢复到故障点。SQL Server 支持的备份类型:(1)完整数据库备份: 备份包括事务日志的整个数据库。(2)差异数据库备份: 仅复制自上一次完整数据库备份之后修改过的数据库页。(3)事务日志备份: 日志备份序列提供了连续的事务信息链,可支持从数据库、差异或文件备份中快速恢复。(4)文件和文件组备份: 仅允许恢复数据库中位于故障磁盘上的那部分 。
4、若要备份一个文件而不是整个数据库时,请合理安排步骤以确保数据库中所有的文件按规则备份,同时必须进行单独的事务日志备份。在恢复一个文件备份后,使用事务日志将文件内容前滚,使其与数据库其余部分一致。SQL Server 支持的备份类型: 在进行备份以前首先必须创建或指定备份设备。备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质:1、磁盘设备2、命名管道设备 微软专门为第三方软件供应商提供的一个备份和恢复方式。 3、磁带磁带设备 备份设备在硬盘中是以文件的方式存储的。备份设备物理备份设备: 是操作系统用来标识备份设备的名称,如C:BackupsAccountingFull.bak。逻辑
5、备份设备: 是用来标识物理备份设备的别名或公用名称。逻辑设备名称永久地存储在 SQL Server的系统表中。优点是引用它比引用物理设备名称简单。例如,逻辑设备名称可以是Accounting_Backup,而物理设备名称则是C:BackupsAccoun- tingFull.bak。备份或恢复数据库时,可以交替使用物理或逻辑备份设备名称。物理和逻辑设备 使用企业管理器创建逻辑磁盘备份设备(1)找到服务器上的“管理”文件夹。(2)右击“备份”,单击“新建备份设备”命令。(3)在“名称”框中输入该命名备份设备的名称。(4)单击“文件名”,单击“浏览”(.)按钮显示“备份设备位置”对话框,再选择磁盘
6、备份设备所使用的本地计算机上的物理文件。(5)单击“确定”创建备份设备。使用sp_addumpdevice创建逻辑磁盘备份设备语法如下:sp_addumpdevice devtype = device_type , logicalname = logical_name , physicalname = physical_name , cntrltype = controller_type | devstatus = device_status 其中:devtype = device_type 指定设备类型。logicalname = logical_name 指定设备的逻辑名称。physica
7、lname = physical_name 指定设备的路径和文件名。使用sp_addumpdevice创建逻辑磁盘备份设备例:USE 学生管理数据库goEXEC sp_addumpdevice disk, bk_dev2,e:Program Filesmicrosoft sql serverMSSQLbackupbk_dev2.bak1使用企业管理器进行数据库备份(1)找到创建数据库备份的服务器。(2)选中指定的数据库,右键单击要进行备份的数据库图标,在弹出的菜单中选择“所有任务”,再选择“备份数据库” 。(4)选择备份的数据库,输入备份的名称和备份的描述,选择备份的类型,如果是针对文件或文件
8、组进行备份,可以单击右边的按钮选择要备份的文件或文件组。1使用企业管理器进行数据库备份(5)单击“添加”按钮选择要备份的设备,可以在弹出的对话框上创建新的备份设备,也可以选择多个备份设备,一次备份到多个设备上。单击“确定”按钮完成添加。(6)在“重写”选项组中: “追加到媒体”:将新的备份添加到备份设备中, “重写现有媒体”:用新的备份来覆盖原来的备份。(7)选择“调度”复选框,可对备份的时间表进行设置。单击右面的按钮改变备份的时间安排,在弹出的“编辑调度”对话框中设定备份操作何时进行。1使用企业管理器进行数据库备份1使用企业管理器进行数据库备份(8)在“名称”中输入备份安排任务的名字,默认为
9、 第1调度,在“调度类型”选项中可以单击“更改”按钮改变当前默认的备份时间设置。 (9)单击“确定”按钮完成时间设置。1使用企业管理器进行数据库备份(9)在数据库备份对话框中选择“选项”选项卡进行附加设置。在选项栏中通过单击复选框进行选择,如果选中了“完成后验证备份”,表示SQL Server 会阅读全部备份,检查备份介质是否可读,保证介质的完整性。(10)单击“确定”按钮完成备份。2使用T-SQL语句创建数据库备份格式:BACKUP DATABASE 数据库名 文件或文件组 ,.n TO 备份设备 ,.n with differential其中with differential表示进行增量备
10、份。【例1】创建用于存放 MyNwind 数据库完整备份的逻辑备份设备。-创建备份设备exec sp_addumpdevice disk, mynwind_1, disk =e:program filesmicrosoft sql servermssqlbackuplwzz_1.dat-进行全面备份backup database mynwind to mynwind_11利用企业管理器恢复数据库备份 (1)启动企业管理服务器,展开服务器组,然后展开服务器。(2)展开“数据库”文件夹,右击要还原的数据库,指向“所有任务”子菜单,然后单击“还原数据库”命令。(3)在“还原为数据库”列表框中,输入或
11、选择要恢复的数据库名称。1利用企业管理器恢复数据库备份(4)在还原选项栏中单击“数据库”单选按钮。(5)在“要还原的第一个备份”列表中,选择要恢复的备份集。(6)在“还原”列表中,单击要恢复的数据库备份。(7)单击“选项”选项卡并执行下列操作:(可选)在“还原为”中输入组成数据库备份的各数据库文件的新名称或新位置。(8)如果没有其他要应用的事务日志或差异数据库备份,单击“使数据库可以继续运行,但无法恢复其他事务日志”。如果要应用另一个事务日志或差异数据库备份,则单击“使数据库不再运行,但能恢复其他事务日志”。(9)然后单击“确认”开始恢复。2使用T-SQL语句恢复数据库 格式:RESTORE
12、DATABASE database_name | database_name_var ,.n FROM ,.n 【例3】显示恢复完整数据库备份。Restore database lwzz From lwzz _1With recovery备份事务日志文件1、利用企业管理器备份事务日志文件备份事务日志文件2、使用T-SQL语句恢复数据库格式:BACKUP LOG 数据库名称| database_name_var TO ,.n with no_truncate 其中with no_truncate表示在完成事务日志备份后,并不清空原有日志的数据。该选项用在数据库遭到损坏或数据库被标示为可疑时进行日
13、志的备份。例:备份学生管理数据库事务日志文件BACKUP LOG 学生管理数据库TO disk=c:Program Filesmicrosoft sql serverMSSQLData学生管理数据库_log.bak备份事务日志文件还原事务日志文件1、利用企业管理器还原事务日志文件还原事务日志文件2、使用T-SQL语句恢复事务日志文件格式:RESTORE LOG 数据库名称| database_name_var FROM ,.n With recovery|norecoverystopat = date_time例:还原学生管理数据库事务日志文件RESTORE LOG 学生管理数据库FROM d
14、isk=c:Program Filesmicrosoft sql serverMSSQLData学生管理数据库_log.bakWith recovery还原事务日志文件gobackup database 学生管理数据库 to back01 -完全备份gobackup database 学生管理数据库 to back02 with differential差异备份1gobackup database 学生管理数据库 to back03 with differential差异备份2gobackup log 学生管理数据库 to back04 -日志备份1gobackup log 学生管理数据库 t
15、o back05 -日志备份2gobackup database 学生管理数据库 to back06 with differential 差异备份3数据库备份与恢复运用实例1restore database 学生管理数据库 from back01 with norecovery完全还原gorestore database 学生管理数据库 from back03 with norecovery还原差异2gorestore log 学生管理数据库 from back04 with norecovery 还原日志1gorestore log 学生管理数据库 from back05 with reco
16、very,stopat=20091225 10:07:00 还原及时点数据库备份与恢复运用实例1backup log 学生管理数据库 to back07 -故障点日志备份gorestore database 学生管理数据库 from back01 with norecovery-完全还原gorestore log 学生管理数据库 from back04 with norecovery -还原日志1gorestore log 学生管理数据库 from back05 with norecovery -还原日志2gorestore database 学生管理数据库 from back06 with
17、norecovery-还原差异3gorestore log 学生管理数据库 from back07 with recovery -还原故障点日志go数据库备份与恢复运用实例1数据库备份与恢复运用实例2 数据库某天晚上20:00发生了系统死机故障,当天数据库中曾经成功地进行了如下数据备份操作:7:00完全数据库备份10:00事务日志备份15:00差异数据库备份16:00事务日志备份17:00差异数据库备份19:00事务日志备份数据库备份与恢复运用实例2 假定此次死机造成了大量数据丢失,为了恢复数据,可采取以下步骤:(1)重新启动系统,备份当时的事务日志,完成故障点事务日志备份。(2)还原最近一次
18、完全数据库备份,即还原7:00发生的完全备份。(3)依次还原事务日志备份,即还原10:00 和16:00发生的事务日志备份。 (4)还原差异数据库备份,即还原17:00发生的差异数据库备份。(5)还原故障点事务日志。EXEC sp_addumpdevice disk, back01,C:Program FilesMicrosoft SQL ServerMSSQLBACKUPback01.BAK -创建备份设备go数据库备份与恢复运用实例2backup database 学生管理数据库 to back01 -完全备份Gobackup log 学生管理数据库 to back02 日志备份1goba
19、ckup database 学生管理数据库 to back03 with differential差异备份1Gobackup log 学生管理数据库 to back04 日志备份2gobackup database 学生管理数据库 to back05 with differential差异备份2gobackup log 学生管理数据库 to back06 日志备份3go数据库备份与恢复运用实例2backup log 学生管理数据库 to bak07 -故障点日志备份gorestore database 学生管理数据库 from bak01 with norecovery-完全还原goresto
20、re log 学生管理数据库 from bak02 with norecovery -日志1还原gorestore log 学生管理数据库 from bak04 with norecovery -日志2还原gorestore database 学生管理数据库 from bak05 with norecovery-差异2还原gorestore log 学生管理数据库 from bak06 with norecovery -日志3还原gorestore log 学生管理数据库 from bak07 with recovery -故障点还原go数据库备份与恢复运用实例2数据库备份与恢复运用实例3 SQL Server中,如果数据库文件(非系统数据库文件)遇到错误时,该怎么办?1、建一个测试数据库test(数据库类型为完全)2、建一个表,插入点记录 create table a(c1 varchar(2) go insert into a values(aa) go insert into a values(bb) go3、作完全备份,到文件test_1.bak数据库备份与恢复运用实例34、再作一点修改 i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年微型系统主机模块项目投资价值分析报告
- 2024年监视器金属冲压零件项目可行性研究报告
- 2024年升降器电机项目可行性研究报告
- 科普教育活动实施方案计划
- 铁路隧道施工招标合同三篇
- 高息借款合同三篇
- 医学教材 安全麻醉三阶梯管理规范技术
- 股权质押协议模板三篇
- 院前急救医生岗位职责
- 环保监测软件维护方案
- 钢便桥施工方案doc
- 锂电池安全知识培训-课件
- 11_tkinter GUI编程教学课件
- 扁平化组织结构讲解PPT课件
- 2013年国际头痛新分类和诊断标准
- 比亚迪汽车企业战略(swot分析)
- 工作交接表(模版)
- 高中学生社区服务活动记录表
- EXCEL桥涵水文计算公式大全
- 标签打印机验证方案(共20页)
- XRF定性和定量分析ppt课件
评论
0/150
提交评论