SQL 第14章 数据库的备份与恢复.ppt
《SQL 第14章 数据库的备份与恢复.ppt》由会员分享,可在线阅读,更多相关《SQL 第14章 数据库的备份与恢复.ppt(40页珍藏版)》请在三一办公上搜索。
1、第14章 数据库的备份和恢复,14.1 备份概述14.2 备份设备14.3 备份类型14.4 执行备份14.5 从不同的备份中恢复数据库14.6 恢复数据库系统,返回目录,2,14.1 备份概述,14.1.1 概述 备份就是对SQL Server数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。执行备份操作必须拥有对数据库备份的权限许可,SQL Server只允许系统管理员、数据库所有者和数据库备份执行者备份数据库。,3,数据库备份是指系统管理员定期或不定期地将数据库部分或全部内容复制到磁带或另一个磁盘上保存起来的过
2、程。这些复制的数据拷贝称为后备副本。当数据库遭到破坏时,可以利用后备副本进行数据库的恢复,但只能恢复到备份时的状态。要使数据库恢复到发生故障时刻前的状态,必须重新运行自备份以后到发生故障前所有的更新事务。在建立和使用数据库系统的过程中,会不断地向系统存储和更新各种重要的数据,其中包括为系统创建的各种数据库对象。在使用计算机系统时,最不愿意发生的事情就是在没有最近备份的情况下遭遇数据丢失或破坏,不论这些数据是数据库中的数据,还是编程代码或其它文件。一旦数据库遭到破坏,就需要花很大的工作量来进行恢复。而随着时间的推移,存储数据量的逐步增加,数据被破坏或丢失后重新修复的可能性就越小。正确、及时地进行
3、数据备份能减少数据丢失后恢复数据库的工作量。所以为了避免数据在灾难后无法恢复,必须对数据库进行备份。,4,14.1.2 备份的分类备份可分为静态备份和动态备份。备份期间不允许对数据库进行任何存取、修改活动的备份方式称为静态备份。备份期间允许对数据库进行存取或修改,即备份和用户事务可以并发执行的备份方式称为动态备份。静态备份简单,但是备份必须等待用户事务结束才能进行,新的事务也必须等待备份结束才能执行。显然,这会降低数据库的可用性。动态备份可克服静态备份的缺点。但是,动态备份结束后,后备副本上的数据并不能保证是正确有效的。例如,在备份期间的某时刻,系统把数据备份到了磁带上,而在下一个时刻,某一事
4、务对该数据又进行了修改。备份结束时,后备副本上的数据已经是过时的数据了。因此,采用动态方式备份时,必须建立日志文件,把备份期间各事务对数据库的修改活动登记下来。这样,后备副本加上日志文件就能把数据库恢复到某一时刻的正确状态。,5,14.1.3 何时备份SQL Server的备份可以手工完成,也可以通过SQL Server Agent完成。SQL Server Agent可以在事先设定的任一天的任何时候执行备份计划。数据库备份分为两种,一种是定期进行的备份,另一种是不定期的数据库备份。不定期的备份一般是数据库发生某些改变后进行的。1.周期性数据库备份备份是十分耗费时间和资源的,不能频繁进行。应该
5、根据数据库的使用情况确定一个适当的备份周期。一般而言,对于数据更新频繁的数据库,或者数据丢失了就很难再重新得到的数据库,备份的频率应该安排得较高一些。对于数据更新频率较低,或者能够很容易重新建立的数据库的备份频率可以低一些,毕竟进行备份操作将影响访问数据库的性能。一种经常采用的备份方案是:每月、每周、每日都进行一次备份。每月一次的备份,要么在月初,要么在月末,这个备份可以永久保存。每周一次的备份,它应该保存一段时期,比如一年。每日的备份,应该保存一个月。备份应该保存在一个安全地方,比如防火、距离机房较远的地方。,6,2.数据库不定期的备份在数据库发生以下改变后,应该进行数据库的备份。创建、修改
6、、删除数据库前应该备份数据库。例如执行CREATE DATABASE、ALTER DATABASE和DROP DATABASE命令等。创建了用户自定义对象。因为创建了用户自定义对象,master数据库就会被修改,因此,必须备份master数据库。增加或删除服务器的系统存储过程。修改了master、msdb、model数据库。清除事务日志或执行了不写入事务日志的操作。,本章首页,7,14.2 备份设备,备份设备(backup device)是指SQL Server中存储数据库和事务日志备份拷贝的载体。备份设备可以被定义成本地的磁盘文件、远程服务器上的磁盘文件、磁带或者命名管道。创建备份时,必须选
7、择存放备份数据的备份设备。当建立一个备份设备时,需要给其分配一个逻辑名和一个物理名。物理名是操作系统用来标识备份设备的名称。逻辑名是用来标识物理备份设备的别名或公用名。逻辑设备名称永久地存储在SQL Server的系统表中。使用逻辑备份设备名的优点是引用它比引用物理名简单。逻辑名最多30个字符并且必须遵守SQL Server的命名约定。备份或还原数据库时,可以交替使用物理名或逻辑名。,8,14.2.1 备份设备的类型1.磁盘设备磁盘备份设备是指被定义成备份设备文件的硬盘或其它磁盘存储媒体。引用磁盘备份设备与引用任何其它操作系统文件是一样的。可以将服务器的本地磁盘或共享网络资源的远程磁盘上定义成
8、磁盘备份设备,磁盘备份设备根据需要可大可小。最大的文件大小相当于磁盘上可用的闲置空间。如果在网络上将文件备份到远程计算机上的磁盘,需使用通用命名规则名称,以 ServernameSharenamePathFile 格式指定文件的位置。将文件写入远程硬盘时,远端系统必须给运行于SQL Server下的用户帐户授予在远程磁盘上读写文件的权限。在网络上备份数据可能受网络数据传输错误的影响,因此备份操作完成后应该进行备份的验证。建议不要将备份与数据库放在同一物理磁盘上。如果两者放在一起,当包含数据库的磁盘设备发生故障,备份与数据库可能会一起遭到破坏,这将会导致数据库无法恢复。,9,2.磁带设备磁带备份
9、设备的用法与磁盘设备相同,但必须将磁带设备物理连接到运行 SQL Server 实例的计算机上。SQL Server不支持磁带设备的远程备份。SQL Server基于Windows98的桌面版本中,不支持磁带备份设备。若要将SQL Server的数据备份到磁带,应使用 Windows NT 4.0 或 Windows 2000 支持的磁带备份设备或磁带驱动器。第一个安装到计算机上的磁带设备被分配的名字是.Tape0,第二个磁带设备的名字是.Tape1,以后安装的磁带设备的命名以此类推。3.命名管道备份设备SQL Server系统提供了把备份放在Name Pipe命名管道上的能力,允许第三方软件
10、供应商提供命名管道备份设备来备份和恢复SQL Server数据库。但要注意,命名管道备份设备不能通过企业管理器创建和管理。,10,14.2.2 建立备份设备可以在企业管理器中建立备份设备,也可以使用T-SQL语句来建立备份设备。1.使用T-SQL语句建立备份设备系统存储过程sp_addumpdevice可以用来添加备份设备。其语法形式如下:sp_addumpdevice device_type,logical_name,physical_name参数:device_type:备份设备的类型。可以是以下三种类型中的一种:disk 以硬盘文件作为备份设备;pipe 命名管道备份设备;tape 磁带
11、备份设备。logical_name:备份设备的逻辑名,用于SQL Server管理备份设备。physical_name:备份设备的物理名称。物理名称必须遵照操作系统文件名称的规则或者网络设备的通用命名规则,并且必须包括完整的路径。如果要添加磁带设备,该参数必须是Windows NT指派给本地磁带设备的物理名称,例如.TAPE0。如果名称包含非字母数字的字符,需要用引号将其引起来。,11,【例14-1】分别创建一个本地磁盘、网络磁盘和磁带备份设备。/*创建本地磁盘备份设备*/USE jwglEXEC sp_addumpdevice disk,DiskBak_jwgl,c:dumpjwgl.bak
12、/*创建一个网络磁盘备份设备*/USE jwglEXEC sp_addumpdevice disk,NetBak_jwgl,BackSrvSQLBakjwgl.bak/*创建一个磁带备份设备*/USE jwglEXEC sp_addumpdevice tape,TapeBak_jwgl,.tape0,12,2.使用企业管理器建立备份设备使用企业管理器建立备份设备采用以下步骤:展开服务器组,然后展开服务器。展开“管理”文件夹,右击“备份”,然后单击“新建备份设备”命令。屏幕将显示如图14-1的“备份设备属性”窗口,并表明是“新设备”。在“名称”框中输入该备份设备的名称,这是备份设备的逻辑名。如果
13、建立一个磁盘备份设备,单击“文件名”,执行下列操作之一以确定备份设备的物理名。如果要建立一个磁带备份设备,单击“磁带驱动器名”,再单击要用作备份设备的磁带设备。(如果窗口中没有列出磁带设备,则表明本地计算机无法检测到磁带设备。)单击“确定”按钮,完成建立备份设备的操作。,本章首页,13,14.3 备份类型,SQL Server 支持的备份类型包括(4类):完整数据库备份 备份包括事务日志在内的整个数据库。差异数据库备份 在完整数据库备份之间执行差异数据库备份。事务日志备份 日志备份序列提供了连续的事务信息链,可支持从数据库、差异或文件备份中快速恢复数据。数据库文件和文件组备份,14,14.3.
14、1 完整数据库备份完整数据库备份是指所有的数据库对象、数据和事务日志都将被备份。完整数据库备份非常容易实施,只需要很简单的操作。通常按照一个常规的时间间隔进行备份。在还原数据库时,只需用一步简单的操作即可完成数据库的恢复。还原进程重写现有数据库,如果现有数据库不存在则创建一个。已还原的数据库将与备份完成时的数据库状态一致,但不包括任何未提交的事务。与事务日志备份和差异数据库备份相比,完整数据库备份中的每个备份使用的存储空间更多。因此,完整数据库备份完成备份操作需要更多的时间,所以完整数据库备份的创建频率通常比差异数据库或事务日志备份低。另一方面,由于完整数据库备份不能频繁地创建,因此,不能最大
15、程度地恢复丢失的数据。,15,14.3.2 差异备份差异数据库备份只记录自上次完整数据库备份后发生更改的数据。差异数据库备份比完整数据库备份小而且备份速度快,因此可以更经常地备份,经常备份将减少丢失数据的危险。使用差异数据库备份可将数据库还原到差异数据库备份完成时的那一点。若要将数据库恢复到精确的故障点时的状态,必须使用事务日志备份。在执行差异数据库备份时注意如下几点:创建定期的数据库备份。在每个数据库备份之间定期创建差异数据库备份。应该在两个差异数据库备份的时间间隔内执行事务日志备份,把数据损失的风险降到最小。,16,14.3.3 事务日志备份事务日志是自上次备份事务日志后对数据库执行的所有
16、事务的一系列记录。可以使用事务日志备份将数据库恢复到特定的即时点或恢复到故障点时的状态。采用事务日志备份,在故障发生时尚未提交的事务将会丢失。所有在故障发生时已经完成的事务都将会被恢复。还原事务日志备份时,SQL Serverf1重做事务日志中记录的所有更改。当SQL Server到达事务日志的最后时,数据库已恢复到与开始执行事务日志备份操作前那一刻完全相同的状态。如果数据库已经恢复,则SQL Server将回滚备份操作开始时尚未完成的所有事务。一般情况下,事务日志备份比完整数据库备份使用的资源少。因此可以比完整数据库备份更经常地创建事务日志备份。经常备份将减少丢失数据的危险。事务日志备份有时
17、比完整数据库备份大。例如,数据库的事务率很高,从而导致事务日志迅速增大。在这种情况下,应更经常地创建事务日志备份。批注 f1:重做,17,14.3.4 数据库文件和文件组备份SQL Server 2000支持备份或还原数据库中的个别文件或文件组。这是一种相对较完善的备份和还原过程,通常用在具有较高可用性要求的超大型数据库(VLDB)中。如果可用的备份时间不足以支持完整数据库备份,则可以在不同的时间备份数据库的子集。文件备份和还原操作必须与事务日志备份一起使用。例如,某站点需要花三小时备份数据库,并且每天只能用两个小时执行备份。该站点可在一个晚上备份一半文件或文件组,并在第二个晚上备份另一半。如
18、果包含数据库文件或文件组的磁盘出现故障,那么该站点可以只还原丢失的文件或文件组。该站点还必须进行事务日志备份,并且在备份文件或文件组之后必须还原所有事务日志备份。还可以从完整数据库备份集中还原文件和文件组。这将加快恢复速度,因为只还原已损坏的文件或文件组,而不是整个数据库。,本章首页,18,14.4 执行备份,14.4.1 备份前的准备为了将系统安全、完整地备份,应该在具体执行备份之前,根据系统的环境和实际需要制定一个切实可行的备份计划,确保数据库的安全。备份计划主要考虑以下几个方面:确定备份的频率。确定备份频率要考虑两个因素:一是系统恢复时的工作量,二是系统活动的事务量。对于完整数据库备份,
19、可以是每个月、每一周甚至是每一天进行,而事务日志备份可以是每一周、每一天甚至是每一小时进行。确定备份的内容。确定数据库中的哪些数据需要备份。确定备份的介质。确定是使用磁盘、还是磁带作为备份的介质。创建备份前需要初始化备份媒体。初始化磁带后,磁带上以前的信息将无法恢复;初始化磁盘媒体只涉及备份操作指定的备份设备文件。磁盘上的其它文件不受影响。,19,确定备份的方式。确定备份采用动态备份还是静态备份。估计备份需要的存储空间量。在执行备份前,应该估计备份需要使用的存储空间量。确定备份的人员。应该指定专人负责数据库的备份,一般只有下列角色的成员才可以备份数据库:服务器角色sysadmin、数据库角色d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 第14章 数据库的备份与恢复 14 数据库 备份 恢复
链接地址:https://www.31ppt.com/p-6520602.html