第4章-数据库的备份恢复与分离附加-SQL-教学课件_第1页
第4章-数据库的备份恢复与分离附加-SQL-教学课件_第2页
第4章-数据库的备份恢复与分离附加-SQL-教学课件_第3页
第4章-数据库的备份恢复与分离附加-SQL-教学课件_第4页
第4章-数据库的备份恢复与分离附加-SQL-教学课件_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

备份数据库

恢复数据库

数据库分离与附加

练习第4章数据库的备份恢复与分离附加

12/11/20221备份数据库第4章数据库的备份恢复与分离附加12/11/备份和恢复是数据库管理人员维护数据库安全性和完整性的重要操作。备份是恢复受损数据库最容易、把意外损失降低到最小的保障方法。没有备份,所有的数据都有可能丢失。备份可以防止因表和数据库遭受破坏、介质失效或用户错误而造成的数据灾难。恢复是在意外发生之后,利用备份来恢复数据库的操作。良好的备份策略是数据库安全运行的保证,是每一个数据库管理员必须认真调查和仔细规划才能完成的任务。备份数据库12/11/20222备份和恢复是数据库管理人员维护数据库安全性和完整性的重要操作备份就是对SQLServer数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。数据库的破坏是难以预测的,因此必须采取能够恢复数据库的措施。一般地,造成数据丢失的常见原因包括:误执行了删除操作;破坏性病毒;自然灾害;硬件系统或软件系统的质量低劣;盗窃等。为了维护数据库数据的完整,SQLServer2000提供了一套功能强大的数据备份和恢复工具。确保能够在系统出现问题时,及时恢复数据库中的数据。备份是系统管理员的日常工作。但是,只有数据库备份是远远不够的,数据库恢复也是一项不可缺少的工作,是为了以后能够顺利地将破坏了的数据库安全地恢复的基础性工作。在系统中,应该指定专人负责数据库的备份工作。只有下列角色的成员才可以备份数据库:固定服务器角色sysadmin(系统管理员)固定数据库角色db_owner(数据库所有者)固定数据库角色db_backupoperator(数据库备份执行者)12/11/20223备份就是对SQLServer数据库或事务日志进行备份,数据备份设备类型备份类型备份的策略操作数据库备份设备备份数据库12/11/20224备份设备类型数据库备份设备12/11/20224备份设备是指用于存放备份数据的设备。创建备份时,必须选择备份设备。1.磁盘备份设备是硬盘或其他磁盘存储媒体上的文件,与常规操作系统文件一样。磁盘备份设备可以定义在数据库服务器的本地磁盘上,也可以定义在通过网络连接的远程磁带上。2.命名管道设备是微软专门为第三方软件供应商提供的一个备份和恢复方式。若要将数据备份到一个命名管道设备,必须在BACKUP或RESTORE语句中给出客户端应用程序中使用的命名管道的名字。3.磁带备份设备的用法与磁盘设备相同。但有两点区别:磁带设备必须直接物理连接在运行SQLServer服务器上的计算机上;磁带设备不支持备份到远程磁带设备上。4.物理和逻辑设备

物理备份设备是操作系统用来标识备份设备的名称,逻辑备份设备用来标识物理备份设备的别名或公用名称。备份设备类型12/11/20225备份设备是指用于存放备份数据的设备。创建备份时,必须选择备份物理设备和逻辑设备SQLServer使用物理设备或逻辑设备两种方式来标识备份设备。物理备份设备名主要用来供操作系统对备份设备进行引用和管理,如:C:\Backups\Accounting\Full.bak。逻辑备份设备是物理备份设备的别名,通常比物理备份设备更能简单、有效地描述备份设备的特征。逻辑备份名被永久保存在SQLServer的系统表中。使用逻辑备份设备名的好处在于可以用一种相对简单的方式实现对物理逻辑设备的引用。例如,一个物理备份设备名可能为C:\Backups\Accounting\Full.bak,但使用逻辑设备备份名则可以缩写为Accounting_Backup。在执行数据库的备份或恢复操作过程中,用户既可以使用逻辑备份设备名又可以使用物理备份设备名。12/11/20226物理设备和逻辑设备SQLServer使用物理设备或逻辑设备备份类型备份是对SQLServer2000的数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。SQLServer2000只允许系统管理员、数据库所有者和数据库备份执行者备份数据库。SQLServer2000对所要备份内容的选项设置,提供了四种不同的方式:◆完全数据库备份:数据库的完整副本。◆差异备份或称增量备份:仅复制自上一次完整数据库备份之后修改过的数据库页。◆事务日志备份:仅复制事务日志。◆数据库文件和文件组备份:仅允许恢复数据库中位于故障磁盘上的那部分。12/11/20227备份类型备份是对SQLServer2000的数据库或事务SQLServer2000提供了四种不同的备份方式,具体介绍如下。(1)完全数据库备份(Database-complete)。是对所有数据库操作和事务日志中的事务进行备份,它可用作系统失败时恢复数据库的基础。完全数据库备份在备份过程中需要占用更多的时间和空间。(2)差异备份或称增量备份(Database-differential)。差异备份是对最近一次数据库备份以来发生的数据变化进行备份。差异备份的优点是速度快,需要的时间少。应该经常进行差异备份,可以降低丢失数据的风险。仅复制自上一次完整数据库备份之后修改过的数据库页。单独一个差异备份无法进行数据库的恢复,需要两个步骤:1)恢复完全数据库备份。2)恢复差异备份。12/11/20228SQLServer2000提供了四种不同的备份方式,具体(3)事务日志备份(Transactionlog)。仅复制事务日志。日志备份序列提供了连续的事务信息链,可支持从数据库、差异或文件备份中快速恢复。是对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备份之后,所有已经完成的事务。事务日志备份需要的磁盘空间和备份时间都比数据库备份少得多。差异备份和事务日志备份都减少了备份数据库所需的时间,但它们之间有一个重要的差别:事务日志备份含有自上次备份以来对数据库进行的所有修改,而差异备份只能恢复到最后一次差异备份时的修改。使用事务日志备份的恢复需要三个步骤:1)恢复完全数据库备份。2)恢复差异备份。3)顺序恢复每次事务日志备份。12/11/20229(3)事务日志备份(Transactionlog)。仅复制(4)数据库文件和文件组备份(FileandFilegroup)。当数据库非常庞大时,可以执行数据库文件或文件组备份,文件备份可以备份部分数据库,而不是整个数据库。当SQLServer2000系统备份文件或文件组时,可以指定需要备份的文件,最多指定16个文件或文件组。当时间限制使得完整数据库备份不切实际时,可使用BACKUP备份数据库文件和文件组,而不是备份完整数据库。12/11/202210(4)数据库文件和文件组备份(FileandFilegr备份策略包括确定备份类型、备份频率何时备份、备份哪些内容、备份到何处以及如何备份等。设计备份策略的指导思想是:以最小的代价恢复数据。定期备份数据库是最稳妥的防止磁盘故障(主要是系统发生故障)的方法,它能有效的恢复数据,这是一种比较兼价的保险形式,同时也是最简单的确保能恢复大部分信息的方法。建立一个完整的备份策略需要考虑很多因素,包括:备份周期。使用静态备份还是动态备份。仅使用全备份还是共同使用全备份和增量备份。使用什么介质。使用人工备份还是设计好的自动备份程序。检验备份完整性的周期。备份存储的空间是否防窃、防磁干扰、防火。是否指定其他人实行备份,他们是否享有必要的登录号和口令。在负责备份和恢复的主要人员缺席的情况下,是否有其他人能代替他们。备份的策略12/11/202211备份策略包括确定备份类型、备份频率何时备份、备份哪些内容、备备份策略应用情景描述完全数据库备份策略数据库比较小数据库的数据很少修改或只读事务日志满了完全数据库和事务日志备份策略频繁修改的数据库最流行的备份策略增量备份策略为了加快数据库的恢复时间不需要捕捉数据库事务日志中的任何变化数据库文件或文件组备份策略海量数据库需要和事务日志备份结合起来使用12/11/202212备份策略应用情景描述完全数据库备份策略数据库比较小完全数据库由于SQLServer2000支持在线备份,所以通常情况下可以一边进行备份,一边进行其他操作,但是在备份过程中不允许执行以下操作:(1)创建或删除数据库文件。(2)创建索引。(3)执行非日志操作。(4)自动或手工缩小数据库或数据库文件大小。12/11/202213由于SQLServer2000支持在线备份,所以通常情况

1.使用企业管理器创建逻辑磁盘备份设备(1)打开企业管理器,展开服务器上的【管理】文件夹。(2)右键单击【备份】,在弹出的快捷菜单中选【新建备份设备】命令。(3)在打开的对话框的【名称】框中输入备份设备的名称。(4)单击【文件名】,然后输入磁盘备份设备所使用的文件名,或者单击【浏览...】按钮显示【备份设备位置】对话框,再选择磁盘备份设备所使用的本地计算机上的物理文件。(5)单击【确定】按钮,完成创建备份设备。操作:数据库备份设备12/11/2022141.使用企业管理器创建逻辑磁盘备份设备操作:数据12/11/20221512/11/202215

2.使用系统存储过程sp_addumpdevice创建数据库备份设备语法格式:sp_addumpdevice{‘device_type’}[,’logical_name’][,’physical_name’]其中:device_type表示设备类型,其值可为disk、pipe和tape;logical_name表示设备的逻辑名称;physical_name表示设备的实际名称(路径和文件名)。【例】创建一个通过网络连接的备份设备USEmasterGOEXECUTEsp_addumpdevice‘disk’,‘networkdevice’,‘\\servername\sharename\path\filename.ext’GO12/11/2022162.使用系统存储过程sp_addumpdevice创建【示例】在D:\SQL\BACKUP下创建一个名为jxcjgl_backup的磁盘类型的备份设备。EXECsp_addumpdevice'disk','jxcjgl_backup','D:\SQL\BACKUP\jxcjgl_backup.bak'【示例】使用系统存储过程新建一个名为“备份设备_图书BACK”的备份设备并将其映射成为磁盘文件“D:\数据\备份设备_图书BACK.BAK”。USEmasterGOEXECUTEsp_addumpdevice'disk','备份设备_图书BACK','D:\数据\备份设备_图书BACK.BAK'12/11/202217【示例】在D:\SQL\BACKUP下创建一个名为jxcj删除备份设备使用系统存储过程sp_dropdevice语句来删除备份设备。【示例】使用系统存储过程删除备份设备“备份设备_图书BACK”。USEmasterGOEXECUTEsp_dropdevice'备份设备_图书BACK'12/11/202218删除备份设备12/11/202218

1.使用企业管理器创建数据库备份 步骤:(1)打开企业管理器,展开服务器,选中指定的数据库。(2)右键单击要进行备份的数据库图标,在弹出的快捷菜单中选择【所有任务】,再选择【备份数据库】。(3)选择备份的数据库,输入备份的名称和备份的描述,选择备份的类型。(4)单击【添加】按钮选择要备份的设备。(5)选择在设备上进行操作的方式。(6)对备份的时间表进行设置。(7)单击【确定】按钮,完成数据库备份。操作:备份数据库12/11/2022191.使用企业管理器创建数据库备份操作:备份数据库12/12/11/20222012/11/202220重写:选择在设备上进行操作的方式追加到媒体:将新的备份添加到备份设备中以前备份的后面(不影响原来的备份)改写现有媒体:用新的备份覆盖原来的备份调度:用户可以拟定自动进行备份操作的时间12/11/202221重写:选择在设备上进行操作的方式12/11/2022212.使用T-SQL语句创建数据库备份使用BACKUPDATABASE命令:BACKUPDATABASE数据库名[文件或文件组[,...n]]TO备份设备[,...n][WITHDIFFERENTIAL]其中,WITHDIFFERENTIAL表示增量备份【示例】先创建d:\sql\backup\目录,将[教学成绩管理数据库]备份到上例创建备份设备jxcjgl_backup该设备。backupdatabase教学成绩管理数据库tojxcjgl_backup【示例】将[教学成绩管理数据库]备份到磁盘文件中。backupdatabase教学成绩管理数据库todisk='d:\sql\backup\jxcjgl_backup.bak'12/11/2022222.使用T-SQL语句创建数据库备份12/11/2022进行日志文件备份的语法:BACKUPLOG数据库名[文件或文件组[,...n]]TO备份设备[,...n][WITHNO_TRUNCATE]其中,WITHNO_TRUNCATE表示在完成事务日志备份后,并不清空原有日志的数据。这个选项可以用在当数据库遭到损坏或数据库被标识为可疑时进行日志的备份。12/11/202223进行日志文件备份的语法:12/11/202223A.备份整个MyNwind数据库

说明

MyNwind数据库仅用于演示。下例创建用于存放MyNwind数据库完整备份的逻辑备份设备。--CreatealogicalbackupdeviceforthefullMyNwindbackup.USEmasterEXECsp_addumpdevice'disk','MyNwind_1',DISK='c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwind_1.dat'--BackupthefullMyNwinddatabase.BACKUPDATABASEMyNwindTOMyNwind_1B.备份数据库和日志本例创建了一个数据库和日志的完整备份。将数据库备份到称为MyNwind_2的逻辑备份设备上,然后将日志备份到称为MyNwindLog1的逻辑备份设备上。说明

创建逻辑备份设备需要一次完成。--CreatethebackupdeviceforthefullMyNwindbackup.USEmasterEXECsp_addumpdevice'disk','MyNwind_2','c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwind_2.dat‘--Createthelogbackupdevice.USEmasterEXECsp_addumpdevice'disk','MyNwindLog1','c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwindLog1.dat'--BackupthefullMyNwinddatabase.BACKUPDATABASEMyNwindTOMyNwind_2--Updateactivityhasoccurredsincethefulldatabasebackup.--BackupthelogoftheMyNwinddatabase.BACKUPLOGMyNwindTOMyNwindLog112/11/202224A.备份整个MyNwind数据库12/11/202恢复数据库

数据库的恢复模型

恢复数据库的方法12/11/202225恢复数据库数据库的恢复模型12/11/202225数据库的恢复模型是数据库遭到破坏时恢复用于数据库中数据的数据存储方式。每一种恢复模型都按照不同的方式维护数据库中的数据和日志。在MicrosoftSQLServer2000系统中,提供了三种数据库的恢复模型:完全恢复模型大容量日志记录的恢复模型简单恢复模型数据库的恢复模型12/11/202226数据库的恢复模型是数据库遭到破坏时恢复用于数据库中数据的数据◆完全恢复模型完全恢复模型向你提供了最大的恢复灵活性。新数据库默认使用的就是这种恢复模型。利用这种模型,你可以恢复数据库的一部分或者完全恢复。假设交易记录(transactionslog)还没有被破坏,你还可以在失败之前恢复出最后一次的已提交(committed)交易。在所有的恢复模型中,这种模型使用了最多的交易记录空间(即耗费大量的磁盘空间),并轻微影响了SQLServer的性能。除非是那种事务日志非常重要的数据库备份策略,一般不使用这种模型。12/11/202227◆完全恢复模型12/11/202227◆大容量日志记录的恢复模型大容量日志记录的恢复模型也使用数据库备份和日志备份来恢复数据库,比FULL模型少了一些恢复选项,但是进行批操作(bulkoperation)时它不会严重影响性能。在进行某些批操作时,由于它只需记录操作的结果,因此它使用了较少的记录空间(即事务日志耗费的磁盘空间远远小于完全恢复模型)。然而,用这种模型,你不能恢复数据库中的特定标记,也不能仅仅恢复数据库的一部分。12/11/202228◆大容量日志记录的恢复模型12/11/202228◆简单恢复模型简单恢复模型是这三种模型中最容易实施的,它所占用的存储空间也最小。然而,你只能恢复出备份结束时刻的数据库。对于那些规模比较小或数据不经常改变的数据库来说,可以使用简单恢复模型。12/11/202229◆简单恢复模型12/11/202229可以使用ALTERDATABASE命令设置数据库的恢复模型。【例】设置数据库的恢复模型USEmasterGO/*设置Northwind数据库的恢复模型为完全恢复模型*/ALTERDATABASENorthwindSETRECOVERYFULLGO/*设置pubs数据库的恢复模型为大容量日志记录的恢复模型*/ALTERDATABASEpubsSETRECOVERYBULK_LOGGEDGO/*设置aaaa数据库的恢复模型为简单恢复模型*/ALTERDATABASEaaaaSETRECOVERYSIMPLEGO12/11/202230可以使用ALTERDATABASE命令设置数据库的恢复模型恢复数据库是指将数据库备份重新加载到系统中的过程。系统在恢复数据库的过程中,自动执行安全性检查、重建数据库结构及完成填写数据库内容。SQLServer2000提供了两种方法来恢复数据库,即使用企业管理器或者使用Transact-SQL语句。恢复数据库的方法12/11/202231恢复数据库是指将数据库备份重新加载到系统中的过程。系统在恢复恢复操作前的准备工作在执行数据库恢复操作之前,必须限制用户对数据库的访问以及备份事务日志。数据库的备份是动态的,但是数据库的恢复是静态的。因此,在执行数据库的操作之前,此应该设置数据库的“限制访问”选项。12/11/202232恢复操作前的准备工作在执行数据库恢复操作之前,必须限制用户对1.利用企业管理器恢复数据库(1)打开企业管理服务器,展开服务器组,展开服务器。(2)右击数据库,在快捷菜单中选【所有任务】,再选【还原数据库】。(3)在【还原为数据库】列表框中,选择要恢复的数据库名称。(4)在还原选项栏中单击【数据库】单选按钮。(5)在【要还原的第一个备份】列表中,选择要恢复的备份集。(6)在【还原】列表中,单击要恢复的数据库备份。(7)单击【确定】按钮,则开始恢复。恢复数据库12/11/2022331.利用企业管理器恢复数据库恢复数据库12/11/20212/11/20223412/11/202234在【参数】选项组中,用户可以选择可以利用哪个数据库备份来执行数据库的恢复操作。如果是利用事务日志来进行恢复,还可以选择恢复数据库到某一指定时刻的状态。在下面的列表框中,显示了当前数据库可以利用的备份。12/11/202235在【参数】选项组中,用户可以选择可以利用哪个数据库备份来执行2.使用T-SQL语句恢复数据库 语法格式: RESTOREDATABASE数据库名[FROM备份设备[,...n]]【示例】用上例所做的备份恢复[教学成绩管理数据库]restoredatabase教学成绩管理数据库fromjxcjgl_backup【示例】用上例所做的备份恢复[教学成绩管理数据库]restoredatabase教学成绩管理数据库fromdisk='d:\sql\backup\jxcjgl_backup.bak'12/11/2022362.使用T-SQL语句恢复数据库12/11/202236【示例】

说明

所有的示例均假定已执行了完整数据库备份。A.还原完整数据库

说明

MyNwind数据库仅供举例说明。下例显示还原完整数据库备份。RESTOREDATABASEMyNwindFROMMyNwind_1B.还原完整数据库备份和差异备份下例还原完整数据库备份后还原差异备份。另外,下例还说明如何还原媒体上的另一个备份集。差异备份追加到包含完整数据库备份的备份设备上。RESTOREDATABASEMyNwindFROMMyNwind_1WITHNORECOVERYRESTOREDATABASEMyNwindFROMMyNwind_1WITHFILE=212/11/202237【示例】12/11/202237分离和附加数据库的操作可以将数据库从一台计算机移到另一台计算机上,而不必重新创建数据库,当附加到数据库上时,必须指定主数据文件的名称和物理。主文件包含查找由数据库组成的其他文件所需的信息。如果存储的文件位置发生了变化,就需要手工指定次要数据文件和日志文件的存储位置。数据库分离与附加12/11/202238分离和附加数据库的操作可以将数据库从一台计算机移到另一台计算附加数据库就是将存放在硬盘上数据库文件加入到SQLServer服务器中。附加数据库的步骤:(1)打开企业管理服务器,展开服务器组,展开服务器。(2)右键单击数据库,选【所有任务】,再选【附加数据库】命令。(3)在随后出现的附加数据库对话框中,选择要附加的数据库的主数据文件名及存放位置。(4)单击【确定】按钮,完成数据库附加。数据库附加12/11/202239附加数据库就是将存放在硬盘上数据库文件加入到SQLServ12/11/20224012/11/202240一个数据库只能被一个服务器管理,通过分离数据库可以将数据库与服务器分离,分离后可以将数据库附加到别的服务器。分离数据库的步骤:(1)打开企业管理服务器,展开服务器组,展开服务器。(2)展开数据库文件夹,右键单击要分离的数据库,选【所有任务】,再选【分离数据库】命令。(3)在随后出现的分离数据库对话框中单击【确定】按钮,则完成数据库分离。数据库分离12/11/202241一个数据库只能被一个服务器管理,通过分离数据库可以将数据库与12/11/20224212/11/202242练习1.在MicrosoftSQLServer2000系统中,支持哪些类型的备份介质?2.在MicrosoftSQLServer2000系统中,提供哪三种数据库的恢复模型?3.在pubs数据库的某表中输入三条新记录,然后对pubs数据库进行备份。4.如何进行数据库的分离与附加?12/11/202243练习1.在MicrosoftSQLServer200

备份数据库

恢复数据库

数据库分离与附加

练习第4章数据库的备份恢复与分离附加

12/11/202244备份数据库第4章数据库的备份恢复与分离附加12/11/备份和恢复是数据库管理人员维护数据库安全性和完整性的重要操作。备份是恢复受损数据库最容易、把意外损失降低到最小的保障方法。没有备份,所有的数据都有可能丢失。备份可以防止因表和数据库遭受破坏、介质失效或用户错误而造成的数据灾难。恢复是在意外发生之后,利用备份来恢复数据库的操作。良好的备份策略是数据库安全运行的保证,是每一个数据库管理员必须认真调查和仔细规划才能完成的任务。备份数据库12/11/202245备份和恢复是数据库管理人员维护数据库安全性和完整性的重要操作备份就是对SQLServer数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。数据库的破坏是难以预测的,因此必须采取能够恢复数据库的措施。一般地,造成数据丢失的常见原因包括:误执行了删除操作;破坏性病毒;自然灾害;硬件系统或软件系统的质量低劣;盗窃等。为了维护数据库数据的完整,SQLServer2000提供了一套功能强大的数据备份和恢复工具。确保能够在系统出现问题时,及时恢复数据库中的数据。备份是系统管理员的日常工作。但是,只有数据库备份是远远不够的,数据库恢复也是一项不可缺少的工作,是为了以后能够顺利地将破坏了的数据库安全地恢复的基础性工作。在系统中,应该指定专人负责数据库的备份工作。只有下列角色的成员才可以备份数据库:固定服务器角色sysadmin(系统管理员)固定数据库角色db_owner(数据库所有者)固定数据库角色db_backupoperator(数据库备份执行者)12/11/202246备份就是对SQLServer数据库或事务日志进行备份,数据备份设备类型备份类型备份的策略操作数据库备份设备备份数据库12/11/202247备份设备类型数据库备份设备12/11/20224备份设备是指用于存放备份数据的设备。创建备份时,必须选择备份设备。1.磁盘备份设备是硬盘或其他磁盘存储媒体上的文件,与常规操作系统文件一样。磁盘备份设备可以定义在数据库服务器的本地磁盘上,也可以定义在通过网络连接的远程磁带上。2.命名管道设备是微软专门为第三方软件供应商提供的一个备份和恢复方式。若要将数据备份到一个命名管道设备,必须在BACKUP或RESTORE语句中给出客户端应用程序中使用的命名管道的名字。3.磁带备份设备的用法与磁盘设备相同。但有两点区别:磁带设备必须直接物理连接在运行SQLServer服务器上的计算机上;磁带设备不支持备份到远程磁带设备上。4.物理和逻辑设备

物理备份设备是操作系统用来标识备份设备的名称,逻辑备份设备用来标识物理备份设备的别名或公用名称。备份设备类型12/11/202248备份设备是指用于存放备份数据的设备。创建备份时,必须选择备份物理设备和逻辑设备SQLServer使用物理设备或逻辑设备两种方式来标识备份设备。物理备份设备名主要用来供操作系统对备份设备进行引用和管理,如:C:\Backups\Accounting\Full.bak。逻辑备份设备是物理备份设备的别名,通常比物理备份设备更能简单、有效地描述备份设备的特征。逻辑备份名被永久保存在SQLServer的系统表中。使用逻辑备份设备名的好处在于可以用一种相对简单的方式实现对物理逻辑设备的引用。例如,一个物理备份设备名可能为C:\Backups\Accounting\Full.bak,但使用逻辑设备备份名则可以缩写为Accounting_Backup。在执行数据库的备份或恢复操作过程中,用户既可以使用逻辑备份设备名又可以使用物理备份设备名。12/11/202249物理设备和逻辑设备SQLServer使用物理设备或逻辑设备备份类型备份是对SQLServer2000的数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。SQLServer2000只允许系统管理员、数据库所有者和数据库备份执行者备份数据库。SQLServer2000对所要备份内容的选项设置,提供了四种不同的方式:◆完全数据库备份:数据库的完整副本。◆差异备份或称增量备份:仅复制自上一次完整数据库备份之后修改过的数据库页。◆事务日志备份:仅复制事务日志。◆数据库文件和文件组备份:仅允许恢复数据库中位于故障磁盘上的那部分。12/11/202250备份类型备份是对SQLServer2000的数据库或事务SQLServer2000提供了四种不同的备份方式,具体介绍如下。(1)完全数据库备份(Database-complete)。是对所有数据库操作和事务日志中的事务进行备份,它可用作系统失败时恢复数据库的基础。完全数据库备份在备份过程中需要占用更多的时间和空间。(2)差异备份或称增量备份(Database-differential)。差异备份是对最近一次数据库备份以来发生的数据变化进行备份。差异备份的优点是速度快,需要的时间少。应该经常进行差异备份,可以降低丢失数据的风险。仅复制自上一次完整数据库备份之后修改过的数据库页。单独一个差异备份无法进行数据库的恢复,需要两个步骤:1)恢复完全数据库备份。2)恢复差异备份。12/11/202251SQLServer2000提供了四种不同的备份方式,具体(3)事务日志备份(Transactionlog)。仅复制事务日志。日志备份序列提供了连续的事务信息链,可支持从数据库、差异或文件备份中快速恢复。是对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备份之后,所有已经完成的事务。事务日志备份需要的磁盘空间和备份时间都比数据库备份少得多。差异备份和事务日志备份都减少了备份数据库所需的时间,但它们之间有一个重要的差别:事务日志备份含有自上次备份以来对数据库进行的所有修改,而差异备份只能恢复到最后一次差异备份时的修改。使用事务日志备份的恢复需要三个步骤:1)恢复完全数据库备份。2)恢复差异备份。3)顺序恢复每次事务日志备份。12/11/202252(3)事务日志备份(Transactionlog)。仅复制(4)数据库文件和文件组备份(FileandFilegroup)。当数据库非常庞大时,可以执行数据库文件或文件组备份,文件备份可以备份部分数据库,而不是整个数据库。当SQLServer2000系统备份文件或文件组时,可以指定需要备份的文件,最多指定16个文件或文件组。当时间限制使得完整数据库备份不切实际时,可使用BACKUP备份数据库文件和文件组,而不是备份完整数据库。12/11/202253(4)数据库文件和文件组备份(FileandFilegr备份策略包括确定备份类型、备份频率何时备份、备份哪些内容、备份到何处以及如何备份等。设计备份策略的指导思想是:以最小的代价恢复数据。定期备份数据库是最稳妥的防止磁盘故障(主要是系统发生故障)的方法,它能有效的恢复数据,这是一种比较兼价的保险形式,同时也是最简单的确保能恢复大部分信息的方法。建立一个完整的备份策略需要考虑很多因素,包括:备份周期。使用静态备份还是动态备份。仅使用全备份还是共同使用全备份和增量备份。使用什么介质。使用人工备份还是设计好的自动备份程序。检验备份完整性的周期。备份存储的空间是否防窃、防磁干扰、防火。是否指定其他人实行备份,他们是否享有必要的登录号和口令。在负责备份和恢复的主要人员缺席的情况下,是否有其他人能代替他们。备份的策略12/11/202254备份策略包括确定备份类型、备份频率何时备份、备份哪些内容、备备份策略应用情景描述完全数据库备份策略数据库比较小数据库的数据很少修改或只读事务日志满了完全数据库和事务日志备份策略频繁修改的数据库最流行的备份策略增量备份策略为了加快数据库的恢复时间不需要捕捉数据库事务日志中的任何变化数据库文件或文件组备份策略海量数据库需要和事务日志备份结合起来使用12/11/202255备份策略应用情景描述完全数据库备份策略数据库比较小完全数据库由于SQLServer2000支持在线备份,所以通常情况下可以一边进行备份,一边进行其他操作,但是在备份过程中不允许执行以下操作:(1)创建或删除数据库文件。(2)创建索引。(3)执行非日志操作。(4)自动或手工缩小数据库或数据库文件大小。12/11/202256由于SQLServer2000支持在线备份,所以通常情况

1.使用企业管理器创建逻辑磁盘备份设备(1)打开企业管理器,展开服务器上的【管理】文件夹。(2)右键单击【备份】,在弹出的快捷菜单中选【新建备份设备】命令。(3)在打开的对话框的【名称】框中输入备份设备的名称。(4)单击【文件名】,然后输入磁盘备份设备所使用的文件名,或者单击【浏览...】按钮显示【备份设备位置】对话框,再选择磁盘备份设备所使用的本地计算机上的物理文件。(5)单击【确定】按钮,完成创建备份设备。操作:数据库备份设备12/11/2022571.使用企业管理器创建逻辑磁盘备份设备操作:数据12/11/20225812/11/202215

2.使用系统存储过程sp_addumpdevice创建数据库备份设备语法格式:sp_addumpdevice{‘device_type’}[,’logical_name’][,’physical_name’]其中:device_type表示设备类型,其值可为disk、pipe和tape;logical_name表示设备的逻辑名称;physical_name表示设备的实际名称(路径和文件名)。【例】创建一个通过网络连接的备份设备USEmasterGOEXECUTEsp_addumpdevice‘disk’,‘networkdevice’,‘\\servername\sharename\path\filename.ext’GO12/11/2022592.使用系统存储过程sp_addumpdevice创建【示例】在D:\SQL\BACKUP下创建一个名为jxcjgl_backup的磁盘类型的备份设备。EXECsp_addumpdevice'disk','jxcjgl_backup','D:\SQL\BACKUP\jxcjgl_backup.bak'【示例】使用系统存储过程新建一个名为“备份设备_图书BACK”的备份设备并将其映射成为磁盘文件“D:\数据\备份设备_图书BACK.BAK”。USEmasterGOEXECUTEsp_addumpdevice'disk','备份设备_图书BACK','D:\数据\备份设备_图书BACK.BAK'12/11/202260【示例】在D:\SQL\BACKUP下创建一个名为jxcj删除备份设备使用系统存储过程sp_dropdevice语句来删除备份设备。【示例】使用系统存储过程删除备份设备“备份设备_图书BACK”。USEmasterGOEXECUTEsp_dropdevice'备份设备_图书BACK'12/11/202261删除备份设备12/11/202218

1.使用企业管理器创建数据库备份 步骤:(1)打开企业管理器,展开服务器,选中指定的数据库。(2)右键单击要进行备份的数据库图标,在弹出的快捷菜单中选择【所有任务】,再选择【备份数据库】。(3)选择备份的数据库,输入备份的名称和备份的描述,选择备份的类型。(4)单击【添加】按钮选择要备份的设备。(5)选择在设备上进行操作的方式。(6)对备份的时间表进行设置。(7)单击【确定】按钮,完成数据库备份。操作:备份数据库12/11/2022621.使用企业管理器创建数据库备份操作:备份数据库12/12/11/20226312/11/202220重写:选择在设备上进行操作的方式追加到媒体:将新的备份添加到备份设备中以前备份的后面(不影响原来的备份)改写现有媒体:用新的备份覆盖原来的备份调度:用户可以拟定自动进行备份操作的时间12/11/202264重写:选择在设备上进行操作的方式12/11/2022212.使用T-SQL语句创建数据库备份使用BACKUPDATABASE命令:BACKUPDATABASE数据库名[文件或文件组[,...n]]TO备份设备[,...n][WITHDIFFERENTIAL]其中,WITHDIFFERENTIAL表示增量备份【示例】先创建d:\sql\backup\目录,将[教学成绩管理数据库]备份到上例创建备份设备jxcjgl_backup该设备。backupdatabase教学成绩管理数据库tojxcjgl_backup【示例】将[教学成绩管理数据库]备份到磁盘文件中。backupdatabase教学成绩管理数据库todisk='d:\sql\backup\jxcjgl_backup.bak'12/11/2022652.使用T-SQL语句创建数据库备份12/11/2022进行日志文件备份的语法:BACKUPLOG数据库名[文件或文件组[,...n]]TO备份设备[,...n][WITHNO_TRUNCATE]其中,WITHNO_TRUNCATE表示在完成事务日志备份后,并不清空原有日志的数据。这个选项可以用在当数据库遭到损坏或数据库被标识为可疑时进行日志的备份。12/11/202266进行日志文件备份的语法:12/11/202223A.备份整个MyNwind数据库

说明

MyNwind数据库仅用于演示。下例创建用于存放MyNwind数据库完整备份的逻辑备份设备。--CreatealogicalbackupdeviceforthefullMyNwindbackup.USEmasterEXECsp_addumpdevice'disk','MyNwind_1',DISK='c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwind_1.dat'--BackupthefullMyNwinddatabase.BACKUPDATABASEMyNwindTOMyNwind_1B.备份数据库和日志本例创建了一个数据库和日志的完整备份。将数据库备份到称为MyNwind_2的逻辑备份设备上,然后将日志备份到称为MyNwindLog1的逻辑备份设备上。说明

创建逻辑备份设备需要一次完成。--CreatethebackupdeviceforthefullMyNwindbackup.USEmasterEXECsp_addumpdevice'disk','MyNwind_2','c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwind_2.dat‘--Createthelogbackupdevice.USEmasterEXECsp_addumpdevice'disk','MyNwindLog1','c:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\MyNwindLog1.dat'--BackupthefullMyNwinddatabase.BACKUPDATABASEMyNwindTOMyNwind_2--Updateactivityhasoccurredsincethefulldatabasebackup.--BackupthelogoftheMyNwinddatabase.BACKUPLOGMyNwindTOMyNwindLog112/11/202267A.备份整个MyNwind数据库12/11/202恢复数据库

数据库的恢复模型

恢复数据库的方法12/11/202268恢复数据库数据库的恢复模型12/11/202225数据库的恢复模型是数据库遭到破坏时恢复用于数据库中数据的数据存储方式。每一种恢复模型都按照不同的方式维护数据库中的数据和日志。在MicrosoftSQLServer2000系统中,提供了三种数据库的恢复模型:完全恢复模型大容量日志记录的恢复模型简单恢复模型数据库的恢复模型12/11/202269数据库的恢复模型是数据库遭到破坏时恢复用于数据库中数据的数据◆完全恢复模型完全恢复模型向你提供了最大的恢复灵活性。新数据库默认使用的就是这种恢复模型。利用这种模型,你可以恢复数据库的一部分或者完全恢复。假设交易记录(transactionslog)还没有被破坏,你还可以在失败之前恢复出最后一次的已提交(committed)交易。在所有的恢复模型中,这种模型使用了最多的交易记录空间(即耗费大量的磁盘空间),并轻微影响了SQLServer的性能。除非是那种事务日志非常重要的数据库备份策略,一般不使用这种模型。12/11/202270◆完全恢复模型12/11/202227◆大容量日志记录的恢复模型大容量日志记录的恢复模型也使用数据库备份和日志备份来恢复数据库,比FULL模型少了一些恢复选项,但是进行批操作(bulkoperation)时它不会严重影响性能。在进行某些批操作时,由于它只需记录操作的结果,因此它使用了较少的记录空间(即事务日志耗费的磁盘空间远远小于完全恢复模型)。然而,用这种模型,你不能恢复数据库中的特定标记,也不能仅仅恢复数据库的一部分。12/11/202271◆大容量日志记录的恢复模型12/11/202228◆简单恢复模型简单恢复模型是这三种模型中最容易实施的,它所占用的存储空间也最小。然而,你只能恢复出备份结束时刻的数据库。对于那些规模比较小或数据不经常改变的数据库来说,可以使用简单恢复模型。12/11/202272◆简单恢复模型12/11/202229可以使用ALTERDATABASE命令设置数据库的恢复模型。【例】设置数据库的恢复模型USEmasterGO/*设置Northwind数据库的恢复模型为完全恢复模型*/ALTERDATABASENorthwindSETRECOVERYFULLGO/*设置pubs数据库的恢复模型为大容量日志记录的恢复模型*/ALTERDATABASEpubsSETRECOVERYBULK_LOGGEDGO/*设置aaaa数据库的恢复模型为简单恢复模型*/ALTERDATABASEaaaaSETRECOVERYSIMPLEGO12/11/202273可以使用ALTERDATABASE命令设置数据库的恢复模型恢复数据库是指将数据库备份重新加载到系统中的过程。系统在恢复数据库的过程中,自动执行安全性检查、重建数据库结构及完成填写数据库内容。SQLServer2000提供了两种方法来恢复数据库,即使用企业管理器或者使用Transact-SQL语句。恢复数据库的方法12/11/202274恢复数据库是指将数据库备份重新加载到系统中的过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论