第10章 数据备份恢复与数据
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图10-2 新建备份设备属性对话框
用户可以自行设置存放路径,单击“确定”即创 建完成了备份设备“DNXSBF”。
2006-12-3 8
注意: 物理备份设备是指操作系统所标识的磁盘 或磁带,如C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\DNXSBF.BAK。逻辑备份设 备是用来标识物理备份设备的别名或公用名称。 逻辑备份名称永久地存储在MASTER数据库下 SYSYDEVICES系统表中。使用逻辑备份设备的优 点是引用它比引用物理设备名称简单。
2006-12-3 20
图10-5
2006-12-3
数据库还原的设置
21
10.2.3 用RESTORE命令恢复数据库
1、恢复数据库的RESTORE命令:
RESTORE DATABASE database_name | @database_name_var [ from <backup_device [ , …n] > ] [ with [ [,] file = { file_number | @file_number } ] [ [,] move ‘logical_file_name’ to ‘operating_system_file_name’ ] [ [,] replace ] [ [,] norecovery | recovery | standby= undo_file_name ] ]
恢复模型 优点 工作损失表现 能否恢复到即时 点?
简单
允许高性能大容量复 制操作。 收回日志空间以使空 间,要求最小。
数据文件丢失或损坏 不会导致工作损失。 可以恢复到任意即时 点(例如,应用程序 或用户错误之前)。
必须重做自最新的数 可以恢复到任何 据库或差异备份后所 备份的结尾处。 发生的更改。 随后必须重做更 改。
2006-12-3
11
3、使用系统存储过程sp_dropdevice语句删除备
份设备 语法格式: [ EXECUTE ] sp_dropdevice „备份设备逻辑名’ [ , '物理名' ] 【例10-2】删除上面创建的磁盘备份设备 diskbackup。 在查询分析器中输入代码: sp_dropdevice 'diskbackup', 'E:\DATA\diskbackup.bak' 运行后显示:“设备已除去。”
(2)事务日志备份的语法格式: BACKUP LOG database_name | @database_name_var to <backup_device> [, …n ] [WITH NO_TRUNCATE] [ [ , ] NO_LOG | TRUNCATE_ONLY ]
【例10-4】创建磁盘备份设备(DNXSLOG1),对数据库 diannaoxs事务日志进行备份。 在查询分析器中输入代码: USE MASTER EXEC sp_addumpdevice „DISK‟, „DNXSLOG1‟, „E:\DATA\DNXSLOG1.DAT‟ BACKUP Log diannaoxs to DNXSLOG1 GO 此外,数据库的备份还有直接复制数据库文件MDF和日 志文件LDF的方法。具体内容可参见数据库的分离与附加 相关操作。 2006-12-3 17
2006-12-3
10
【例10-1】在磁盘上创建一个磁盘备份设备 diskbackup。 在查询分析器中输入代码: Exec sp_addumpdevice 'disk' , 'diskbackup' , 'E:\DATA\diskbackup.bak' 运行后显示:“(所影响的行数为 1 行) '硬 盘' 设备已添加。”,操作完成。
2006-12-3 5
10.1.2 备份设备的创建与删除
在进行备份前首先必须指定或创建备份设备,备份设备是用 来存储数据文件、事务日志文件和文件组备份的存储介质, 可以是硬盘、磁带或管道。当使用磁盘作为备份设备时, SQL Server允许将本地主机硬盘和远程主机上的硬盘作为 备份设备,备份在硬盘中以文件方式存储。 1、使用企业管理器创建与删除备份设备 创建备份设备步骤: (1)在控制台根目录中依次展开“Microsoft SQL Server” →“SQL Server组” →“所使用的服务器” →“管 理”→“备份”,鼠标右键单击“备份”节点(或从“操 作”菜单中选择),选择“新建备份设备”,如图10-1所 示。
2006-12-3 22
【例10.6】磁盘备份设备(DNXS)包含数据库diannaoxs的 完全备份。磁盘备份设备(DNXSDIFF)包含数据库 diannaoxs的差异备份。请还原数据库。 在查询分析器中输入代码: use master /*(1)从磁盘备份设备(DNXS)恢复完全数据库备份, 使用NORECOVERY选项。*/ restore database diannaoxs from DNXS WITH NORECOVERY /*(2)从磁盘备份设备(DNXSDIFF)恢复差异数据库备 份,使用RECOVERY选项。*/ restore database diannaoxs from DNXSDIFF WITH RECOVERY
正常情况下没有。如 果日志损坏,则必须 重做自最新的日志备 份后所发生的更改。 可以恢复到任何 即时点。
完全
大容量日 志记录
允许高性能大容量复 制操作。 大容量操作使用最少 的日志空间。
如果日志损坏,或者 可以恢复到任何 自最新的日志备份后 备份的结尾处。 发生了大容量操作, 随后必须重做 . 则必须重做自上次备 份后所做的更改。 否则不丢失任何工作。
2006-12-3 15
【例10-3】创建磁盘备份设备(DNXS和DNXSDIFF),分别对数据 库diannaoxs执行完全备份和差异备份。 在查询分析器中输入代码: USE MASTER /*创建(完全)备份设备*/ EXEC sp_addumpdevice „DISK‟, „ DNXS ‟, „ E:\DATA\DNXS.DAT‟ /*创建(差异)备份设备*/ EXEC sp_addumpdevice „DISK‟, „ DNXSDIFF ‟, „ E:\DATA\DNXSDIFF.DAT‟ /*执行完全备份*/ BACKUP BATABASE diannaoxs to DNXS With NOINIT /*执行差异备份*/ BACKUP BATABASE diannaoxs to DNXSDIFF With differential 2006-12-3 16 GO
19
2006-12-3
10.2.2 用企业管理器恢复数据库 (1)打开企业管理器,单击所用的服务器,在
“工具”菜单中单击“还原数据库”命令。随 即弹出的“还原数据库”对话框中有“常规” 和“选项”两个选项卡。 (2)在“常规”选项卡中,选择还原数据库的 名称、还原类型,如图10-5所示。 • 在还原为数据库旁的下拉列表中选择要恢复的 数据库; • 在还原文件组中时通过单击按钮来选择相应的 数据库备份类型。
2006-12-3
12
10.1.3 数据库的备份
1、使用企业管理器进行备份
(1)在企业管理器中右键单击所要进行备份的 数据库图标或节点,在弹出的快捷菜单中选择 “所有任务”->“备份数据库” 。随即弹出 的“SQL Server备份”对话框中有“常规”和 “选项”两个选项卡。如图10-3、10-4所示,
2006-12-3
13
图10-3 “常规”选项卡 卡
图10-4 “选项”选项
2006-12-3
14
2、使用Transact-SQL语句Backup备份数据库及
事务日志 (1)数据库备份的语法格式: BACKUP BATABASE database_name | @database_name_var to < backup_device > [ , …n ] [ with [[,] format ][[,] init | noinit ][[,] restart ][[,]differential ] ]
2006-12-3 2
10.1.1 数据库备份的类型
SQL Server 2000有4种备份方式: 1. 完全数据库备份(Database-complete) 这是最完整的数据库备份方式,它会将数据库 内所有的对象完整地复制到指定的设备上。由 于它是备份完整内容,因此通常会需要花费较 多的时间,同时也会占用较多的空间。对于数 据量较少,或者变动较小不需经常备份的数据 库而言,可以选择使用这种备份方式。
2006-12-3
4
10.1.1 数据库备份的类型
3. 事务日志备份(Transaction log) 事务日志备份与差异数据库备份非常相似,都是备份部分 数据内容,只不过事务日志备份是针对自从上次备份后 有变动的部分进行备份处理,而不是针对上次完全备份 后的变动。 4. 数据库文件和文件组备份(File and filegroup) 这种备份模式是以文件和文件组作为备份的对象,可以针 对数据库特定的文件或特定文件组内的所有成员进行数 据备份处理。不过在使用这种备份模式时,应该要搭配 事务日志备份一起使用,因为当我们在数据库中还原部 分的文件或文件组时,也必须还原事务日志,使得该文 件能够与其他的文件保持数据一致性。
10.2 数据库的恢复
10.2.1 数据库恢复策略 数据库备份后,一旦系统发生崩溃或者执 行了错误的数据库操作,就可以从备份 文件中恢复数据库,将数据库备份加载 到系统中。数据库恢复模型有以下3种:
1、简单恢复 。 2、完全恢复 。 3、大容量日志记录恢复 。
2006-12-3 18
表10-2 3种恢复模型的比较
在企业管理器中删除备份设备与创建的过程类 似,选中要删除的备份设备右键单击,在弹出的 菜单中选择“删除”即可删除。
2006-12-3 9
2、使用系统存储过程sp_addumpdevice语句创建 备份设备 在SQL Server 中,可以使用sp_addumpdevice语 句创建备份设备,语法格式为: [ EXECUTE ] sp_addumpdevice ‘设备类型’ [ , ‘ 设备逻辑名称’ ] [ , ‘物理名称’ ] [ , 管理员 | ‘验证设备’ ] 设备类型值可以是 DISK ,PIPE,TAPE。
第10章 数据备份恢复与数据转换
10.1 10.2 10.3 10.4 10.5 10.6
2006-12-3
wenku.baidu.com
备份与恢复概述 数据库的恢复 数据库的维护 数据转换服务(DTS) 使用DTS设计器 实训要求与习题
1
10.1 备份与恢复概述
备份与恢复是SQL Server 的重要组成部分。 • 备份就是指对SQL SEVER数据库及其他相关信息进 行复制,数据库备份能记录数据库中所有数据的 当前状态,以便在数据库遭到破坏时能够将其恢 复。 • 恢复就是把遭受破坏、丢失的数据或出现错误的 数据库恢复到原来的正常状态,这一状态是由备 份决定的,不同的数据库备份类型,都应该个别 采取不同的还原方法。就某种意义来说,数据库 的还原比数据库的备份更加重要并困难。因为数 据库备份是在正常的状态下进行,然而数据库还 原则是在非正常的状态下进行,例如硬件故障、 系统瘫痪以及操作疏忽等。
2006-12-3
3
10.1.1 数据库备份的类型
2. 差异备份或称增量备份(Database-differential) 差异数据库备份只会针对自从上次完全备份后有 变动的部分进行备份处理,这种备份模式必须 搭配完全数据库备份一起使用,最初的备份使 用完全备份保存完整的数据库内容,之后则使 用差异备份只记录有变动的部分。由于差异数 据库备份只备份有变动的部分,因此比起完全 数据库备份来说,通常它的备份速度会比较快, 占用的空间也会比较少。对于数据量大且需要 经常备份的数据库,使用差异备份可以减少数 据库备份的负担。
2006-12-3 6
图10-1 新建备份设备操作
2006-12-3 7
(2)在弹出的“备份设备属性—新设备”对话框 的名称中输入备份设备逻辑名,比如“DNXSBF”, 文件名框中会自动生成包括默认路径的物理文 件名,C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\DNXSBF.BAK 如图10-2 所示。