SQL server 2005案例教程 第8章 数据库的备份与还原

上传人:E**** 文档编号:89391174 上传时间:2019-05-24 格式:PPT 页数:16 大小:2.39MB
返回 下载 相关 举报
SQL server 2005案例教程 第8章 数据库的备份与还原_第1页
第1页 / 共16页
SQL server 2005案例教程 第8章 数据库的备份与还原_第2页
第2页 / 共16页
SQL server 2005案例教程 第8章 数据库的备份与还原_第3页
第3页 / 共16页
SQL server 2005案例教程 第8章 数据库的备份与还原_第4页
第4页 / 共16页
SQL server 2005案例教程 第8章 数据库的备份与还原_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《SQL server 2005案例教程 第8章 数据库的备份与还原》由会员分享,可在线阅读,更多相关《SQL server 2005案例教程 第8章 数据库的备份与还原(16页珍藏版)》请在金锄头文库上搜索。

1、,第 8 章,数据库的备份与还原,8.1 【案例 23】备份数据库 备份数据库就是将数据库结构、对象和数据的副本存储在计算机硬盘以外的其他存储介质上(比如磁带), 以便在数据库遭到破坏时能够还原数据库。 相关知识 1使用系统存储过程 SP_ADDUMPDEVICE 创建备份设备 可以使用系统存储过程 SP_ADDUMPDEVICE 来创建备份设备,这个存储过程可以添加磁盘和磁盘设备。基本语 法格式如下:,SP_ADDUMPDEVICE,devtype=device_type,logicalname=logical_name ,physicalname=physical_name ,cntrlt

2、ype=controller_type devstatus=device_status ,l,l,l,l,l,各参数含义如下所述。,devtype=device_type:是指备份设备的类型。device_type 的数据类型为 varchar(20),无默认值,,可以是 disk、tape 和 pipe。其中,disk 是指硬盘文件作为备份设备;tape 是指 Microsoft Windows 支持,的任何磁带设备;pipe 是指使用命名管道备份设备。,logicalname=logical_name : 是 指 在 BACKUP 和 RESTORE 语 句 中 使 用 的 备 份 设 备

3、 的 逻 辑 名 称 。,logical_name 的数据类型为 sysname,无默认值,且不能为 NULL。,physicalname=physical_name:该参数指备份设备的物理名称。物理名称必须遵从操作系统文件名规,则或者网络设备的通用名约定,并且必须包含完整的路径。指定存放备份设备的物理路径必须真实存在,,否则将会提示“系统找不到指定的路径”,因为 SQL Server 2005 不会自动为用户创建文件夹。physical_name,的数据类型为 nvarchar(260),无默认值,且不能为 NULL。,cntrltype=controller_type:如果 cntrlty

4、pe 的值是 2,则表示是磁盘;如果 cntrltype 的值是 5,,则表示是磁带。,devstatus=device_status:device_status 如果是 noskip,表示读 ANSI 磁带头;如果是 skip,表示,跳过 ANSI 磁带头。,2使用 SSMS 管理备份设备,在 SQL Server 2005 中,创建了备份设备以后可以通过使用 SQL Server Management Studio 工具管理备份 设备,查看备份设备的信息和删除不用的备份设备。具体操作步骤如下所述。 打开 SQL Server Management Studio 窗口,使用 Windows

5、或 SQL Server 身份验证建立连接。 在“对象资源管理器”窗格中,单击服务器名称,展开服务器树,展开“服务器对象”结点。 展开“备份设备”结点,即可看到服务器上创建的所有备份设备,如图 8-1-10 所示。 删除备份设备的前几个步骤与查看备份设备相同,在“备份设备”结点的子菜单中右击 class,从弹出 的快捷菜单中选择“删除”命令,在打开的“删除对象”对话框中单击“确定”按钮即可完成删除操作。,图 8-1-9,创建 class 备份设备,图 8-1-10,展开“备份设备”结点,3使用系统存储过程管理备份设备,使用系统存储过程 SP_HELPDEVICE 也可以查看服务器上每个设备的相

6、关信息。,4数据库备份类型,SQL Server 2005 提供了 4 种数据库备份类型。,(1)完整数据库备份,完整数据库备份就是备份整个数据库,即备份数据库文件、这些文件的地址以及事务日志的某些部分(从备,份开始时所记录的日志顺序号到备份结束时的日志顺序号)。这是任何备份策略中都要求完成的第一种备份类型,,因为其他所有备份类型都依赖于完整数据库备份,如果没有执行完整数据库备份,就无法执行差异数据库备份和,事务日志备份。,完整数据库备份需要花费更多的空间和时间,所以完整数据库备份不需要频繁的进行,如果只使用完整数据,库备份,那么进行数据还原只能还原到最后一次完整数据库备份时的状态,该状态之后

7、的所有改变都将丢失。,(2)差异数据库备份,差异数据库备份是指将从最近一次完整数据库备份以后发生改变的数据开始记录。如果在完整备份中将某个,文件添加至数据库,则下一个差异备份会包括该新文件。这样可以方便地备份数据库,而无须了解各个文件。,(3)事务日志备份,事务日志备份依赖于完整备份,但它并不备份数据库本身。这种类型的备份只记录事务日志的适当部分,即,备份从上一个事务以来已经发生了变化的部分。事务日志备份比完整数据库备份节省时间和空间,而且利用事务,日志进行恢复时,可以指定恢复到某一个事务,比如可以将其恢复到某个破坏性操作执行的前一个事务,这是完,整备份和差异备份所不能做到的。但是与完整数据库

8、备份和差异备份相比,用事务日志备份恢复数据库要花费较,长的时间,这是因为事务日志备份仅仅存放日志信息,恢复是需要按照日志重新插入、修改或者删除数据。所以,,通常情况下,事务日志备份经常与完整备份和差异备份结合使用。例如,每周进行一次事务完整备份,每天进行,一次差异备份,每小时进行一次事务日志备份。,(4)文件组备份,当一个数据库很大时,对整个数据库进行备份可能会花很多的时间,这时可以采用文件和文件组备份,即对,数据库中的部分文件或者文件组进行备份。,文件组备份是一种将数据库存放在多个文件上的方法,并允许控制数据库对象(比如表或者视图)存储到这,些文件中的那些文件上。这样,数据库就不会受到只存储

9、在单个硬盘上的限制,而是可以分散到许多硬盘上,因,而可以变得非常大。利用文件组备份,每次可以备份这些文件中的一个或者多个文件,而不是同时备份整个数据,库。,由于文件组允许将表存放在一个文件上,而将对应的索引存放在另一个文件上,所以文件组可以用来加快,l,l,l,l,数据访问的速度,但会减慢备份过程,因此必须将表和索引作为一个单元来备份。 5使用 BACKUP 命令备份数据库 可以使用 BACKUP 命令来备份数据库,对数据库进行完整备份的语法如下: BACKUP DATABASE database_name,TO,backup_device,n,WITH ,NAME=backup_set_na

10、me ,DESCRIPITION=TEXT ,INITNOINIT 上述参数选项的说明如下: database_name:指定了要备份的数据库。 backup_device:指定备份的目标设备,采用“备份设备类型=设备名”的形式。 WITH 子句:指定备份选项,这里仅给出两个,更多的备份选项可以参考 SQL Server 联机丛书。 NAME=backup_set_name:指定了备份的名称。,l,l,DESCRIPITION=TEXT:给出了备份的描述。,INITNOINIT:INIT 表示新备份的数据覆盖当前备份设备上的每项内容,即原来在此设备上的数据信息都,将不存在了;NOINIT 表示

11、新设备的数据添加到备份设备上已有的内容的后面。,6差异备份,7事务日志备份,使用事务日志备份可以将数据库还原到故障点特定的时间点。一般情况下,事务日志备份比完整备份和差异,备份使用的资源少。因此,可以更加频繁地创建事务日志备份,减少数据丢失的风险。,在 Microsoft SQL Server 2005 系统中,事务日志备份有 3 种类型:纯日志备份、大容量操作日志备份和尾,日志备份,具体情况如表 8-1-1 所示。,8.2 【案例 24】数据库的恢复和复制,相关知识,1数据库还原的意义,就某种意义来说,数据库的还原比数据库的备份更加重要并困难。因为数据库备份是在正常的状态下进行,,然而数据库

12、还原则是在非正常的状态下进行。例如硬件故障、系统瘫痪以及操作疏忽等,所以数据库还原是数据,库系统管理的另一项非常重要的工作。,数据库还原的动作就是将数据库的备份重新再载回到系统中。在执行数据库还原的动作时,系统首先要进行,安全性检查。例如:“检查数据库是否存在”、“数据库文件是否兼容”、“是否处于维修模式中”等检查,以确保,数据库可以安全、迅速地还原。不同的数据库备份,都应该采取不同的还原方法。,2还原数据库的模型,备份数据是为了防患于未然,可以被看做是为数据提供了一个强有力的保障,是一份保险单,当数据丢失时,,可以通过备份还原数据。SQL Server 2005 可以备份指定的数据文件、指定

13、文件组下的数据文件。为了使还原的,文件与数据库的其余部分保持一致,执行文件和文件组备份之后,必须执行事务日志备份。,SQL Server 2005 有 3 种还原模型,当服务器发生故障时,每种还原模型都能够维护数据,但是在 SQL Server,还原数据的方法以及在磁盘发生故障时各自所需要的存储量和性能方面,三者却有着很大的差别。,(1)简单还原模型,对于不经常更新数据的小型数据库,可以使用简单还原模型。该模型使用数据库的完全备份和差异备份,但,只能将数据库还原到最后一次备份的时间点的状态。在最后一次备份之后所做的全部更改将丢失。该模型最主要,的优点是日志占用较少的存储空间,并且实施起来最简单

14、。,(2)完全还原模型,SQL Server 可以记录数据库的所有更改,包括大容量操作和创建索引。当从被损坏的媒体中完全还原数据,存在最高优先级时,可以使用完全还原模型。该模型使用数据库的复制和所有日志信息来还原数据库,只要日志,文件本身没有损坏,除了发生故障时正在进行的事务,SQL Server 可以还原所有的数据。,在完全还原模型中,所有的事务都被记录下来,所以可以将数据库还原到任意的时间点。SQL Server 2005,支持将命名标记插入到事务日志中的功能,可以将数据库还原到这个特定的标记。记录事务标记要占用日志空间,,所有只对那些在数据库还原策略中扮演重要角色的事务使用事务标记,该模

15、型的主要问题是日志文件较大,由此,产生的存储量和性能的开销增大。,(3)大容量日志记录还原模型,大容量日志记录还原模型使用数据库和日志备份来还原数据库,该模型对某些大规模或者大容量数据操作,(比如 INSERT INTO、CREATE INDEX、大批量装载数据、处理大批量数据)提供最佳性能和最少的日志使用空间。,在这种模型下,日志只记录多个操作的最终结果,而非存储操作的过程细节,所以日志尺寸更小,大批量操作的,速度也更快。如果事务日志没有受到破坏,除了故障期间发生的事务以外,SQL Server 能够还原全部数据,但,是,由于使用最小日志的方式记录事务,所以不能还原数据库到特定的时间点。,在

16、大容量日志记录还原模型下,备份包含大容量数据操作的日志需要访问数据库中的所有文件,如果数据文件,不可访问,则无法备份最后的日志,而且该日志中所有已提交的操作都会丢失。,3常规还原,通常使用如下操作步骤进行数据库还原。, 在 SQL Server Management Studio 窗口中,依次展开服务器组,并展开要备份的数据库所在的服务器。, 右击“数据库”,在弹出的快捷菜单中选择“还原数据库”命令,打开“还原数据库-选课管理”窗口。, 在“还原数据库-选课管理”窗口中,在“目标数据库”下拉列表中选择目标数据库,根据需要选择备份,设备,单击“确定”按钮,返回到“还原数据库-选课管理”窗口。, 根据需要,选择“选择用于还原的备份表”下面的备份方式。, 单击“选项”选项,在“选项”页面中,单击其中一种“恢复状态”按钮,选择需要还原的状态,如图,8-2-4 所示,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号