《数据库》第十讲数据的备份、恢复与传输.ppt.ppt_第1页
《数据库》第十讲数据的备份、恢复与传输.ppt.ppt_第2页
《数据库》第十讲数据的备份、恢复与传输.ppt.ppt_第3页
《数据库》第十讲数据的备份、恢复与传输.ppt.ppt_第4页
《数据库》第十讲数据的备份、恢复与传输.ppt.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第十讲数据的备份、恢复和传输,2020年5月18日,教学内容,事务概念、属性、执行事务的3种模式数据锁的概念、锁的对象、锁的方法以及死锁问题数据的备份、恢复以及传输的方法,2020年5月18日,学习目标及重点,学习目标掌握事务概念、属性掌握数据锁的概念和死锁问题掌握数据备份的概念学会如何备份数据库、恢复数据库SQLServer数据库与其它软件的数据交换重点与难点事务概念事务属性执行事务的3种模式数据锁的概念及死锁问题如何在企业管理器中执行数据库备份如何使用Transact-SQL语句执行数据库备份如何使用企业管理器恢复数据库如何使用Transact-SQL语句恢复数据库,2020年5月18日,10.1事务简介,10.1.1事务概念事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务,2020年5月18日,10.1.2事务的属性(ACID),原子性(Atomicity)事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。一致性(Consistency)事务在完成时,必须使所有的数据都保持一致状态隔离性(Isolation)由并发事务所作的修改必须与任何其它并发事务所作的修改隔离持久性(Durability)事务完成之后,它对于系统的影响是永久性的。,2020年5月18日,10.1.3执行事务的3种模式,1.显式事务:可以显式地在其中定义事务的启动和结束。语法BEGINTRANSACTIONtransaction_name|tran_name_variableWITHMARKdescription参数transaction_name是给事务分配的名称。不允许标识符多于32个字符。tran_name_variable用char、varchar、nchar或nvarchar数据类型声明有效事务的变量的名称WITHMARKdescription指定在日志中标记事务。Description是描述该标记的字符串。如果使用了WITHMARK,则必须指定事务名。WITHMARK允许将事务日志还原到命名标记。,2020年5月18日,显式事务语句,2020年5月18日,自动提交、隐含事务,2.自动提交事务系统默认的事务方式,许多SQL语句在执行时都会自动发生的事务。每个数据操作语句即为一个事务。3.隐含事务当连接以隐性事务模式进行操作时,SQLServer将在提交或回滚当前事务后自动启动新事务。无须描述事务的开始,只须提交或回滚每个事务。隐性事务模式生成连续的事务链。,2020年5月18日,EX事务,例:建立内含事务的存储过程CreateProcTestTranasBeginTRANSelect*FromStudInfoRollbackGo,2020年5月18日,事务保存点的设置与回滚,SAVETRANSACTION在事务内设置保存点。语法SAVETRANSACTIONsavepoint_name|savepoint_variable参数savepoint_name是指派给保存点的名称。保存点名称必须符合标识符规则,但只使用前32个字符savepoint_variable是用户定义的、含有有效保存点名称的变量的名称。必须用char、varchar、nchar或nvarchar数据类型声明该变量。BEGINTRANSAVETRANTempTranIF(ERROR0)BEGINROLLBACKTRANTempTran-回滚到事务保存点/*失败时所使用的变通方案*/END.IF(.)COMMITELSEROLLBACK,2020年5月18日,分布式事务,如果要在事务中存取多个数据库服务器中的数据(包含执行存储过程),就必须使用“分布式事务”(DistributedTransaction)BeginDistributedtranInsertintoCourseInfo(CourseID,CourseName)values(A00232,TestName)IfERROR0GOTOERRORPROCINSERTINTOAnotherServer.DatabaseName.dbo.tablename(FieldName1,FieldName2)values(Values1,Values2)ERRORPROC:IFERROR0ROLLBACKELSECOMMIT,2020年5月18日,10.2数据锁,锁定(Lock)是将指定的数据临时锁起来供我们使用,以防止该数据被别人修改或读取。并发性(Concurrency):允许多个事务同时进行数据处理的性质乐观与悲观并发性控制乐观并发性控制(OptimisticConcurrency):乐观控制(或称乐观锁定)就是假设发生数据存取冲突的机会很小,因此在事务中并不会持续锁定数据,而只有在更改数据时才会去锁定数据并检查是否发生存取冲突。悲观并发性控制(PessimiticConcurrency):悲观控制(或称悲观锁定)与乐观控制刚好相反,它会在事务中持续锁定要使用的数据,以确保数据可以正确存取。,2020年5月18日,锁的对象,2020年5月18日,锁的方法,独占式锁(ExclusiveLock):Exclusive锁可禁止其他事务对数据作存取或锁定操作共享式锁(SharedLock):Shared锁可将数据设成只读,并禁止其他事务对该数据作Exclusive锁定,但却允许其他事务对数据再作Shared锁定。更改式锁(UpdateLock):Update锁可以和Shared锁共存,但禁止其他的Update锁或Exclusive锁。,2020年5月18日,死锁问题,当多个事务的手中都锁定了某些资源,却又在等待另外一些被彼此锁定的资源时,就会发生死锁(Deadlock)避免死锁发生的技巧使用相同的顺序来存取数据尽量缩短事务的时间尽量使用较低的隔离等级,2020年5月18日,10.3数据库备份概念,数据库的备份和恢复是维护数据库的安全性和完整性的重要组成部分。通过备份数据库,可以防止因为各种原因而造成的数据破坏和丢失。恢复是指在造成数据丢失和破坏以后利用备份来恢复数据的操作。用户的错误操作和蓄意破坏、病毒攻击和自然界不可抗力,造成数据丢失的因素。,2020年5月18日,10.3.1备份设备,创建备份时,必须选择存放备份数据库的备份设备。(1)磁盘设备和磁带设备磁盘备份设备是硬盘或其他磁盘存储媒体上的文件,可以像操作系统文件一样进行管理备份到远程计算机上的磁盘,使用通用命名规则名称(UNC),以ServernameSharenamePathFile格式指定文件的位置。,2020年5月18日,(2)物理设备和逻辑设备,SQLServer使用物理设备名称或逻辑设备名称标识备份设备。物理备份设备是操作系统用来标识备份设备的名称,如C:BackupsAccountingFull.bak。可以用逻辑设备名称执行BACKUP语句:BACKUPDATABASEaccountingTOAccounting_Backup也可以使用逻辑设备名称执行语句:BACKUPDATABASEaccountingTODISK=C:BackupsAccountingFull.Bak,2020年5月18日,(3)创建永久备份设备,使用企业管理创建永久备份设备使用T-SQL语句执行存储过程sp_addumpdevice创建一个可以再次使用的备份设备。Sp_addumpdevice设备类型,设备逻辑名,设备的物理名称如:使用本地磁盘的一个文件创建一个逻辑名称为“company_back”的磁盘备份设备:EXECsp_addumpdevicedisk,company_back,d:Data_backupcompany_back.bak删除一个备份设备用存储过程sp_dropdevicesp_dropdevice设备的逻辑名称,delfile删除备份设备company_back,并不删除相关的物理文件:EXECsp_dropdevicecompany_back删除备份设备并将相关的物理文件删除EXECsp_dropdevicecompany_back,DELFILE,2020年5月18日,10.3.2备份策略,SQLServer2000提出4种主要的备份方式:数据库备份、事务日志备份、差异备份、文件和文件组备份。完整数据库备份是数据库的完整复本。事务日志备份仅复制事务日志。差异备份仅复制自上一次完整数据库备份之后修改过的数据库页。文件或文件组还原仅允许恢复数据库中位于故障磁盘上的那部分,2020年5月18日,10.3.3执行数据库备份,使用企业管理器创建数据库备份(企业管理器)展开服务器组,然后展开服务器。展开数据库文件夹,右击数据库,指向所有任务子菜单,然后单击备份数据库命令。在名称框内,输入备份集名称。在描述框中输入对备份集的描述。(可选)在备份选项下单击数据库完全。在目的选项下,单击磁带或磁盘,然后指定备份目的地。如果没出现备份目的地,则单击添加以添加现有的目的地或创建新目的地。,2020年5月18日,创建数据库备份,在重写选项下,执行下列操作之一:单击追加到媒体,将备份追加到备份设备上任何现有的备份中。单击重写现有媒体,将重写备份设备中任何现有的备份。选择调度复选框调度备份操作在以后执行或定期执行。(可选)单击选项选项卡并执行下列一项或多项操作:(可选)选择完成后验证备份复选框,在备份时对备份进行验证。选择备份后弹出磁带复选框,在备份操作完成后弹出磁带。该选项只适用于磁带设备。选择检查媒体集名称和备份集到期时间,检查备份媒体以防意外重写。如果是第一次使用备份媒体,或者要更改现有的媒体标签,则在媒体集标签框下选择初始化并标识媒体复选框,然后输入媒体集名称和媒体集描述。只有在重写媒体时才能对其进行初始化和标识设置。,2020年5月18日,数据库备份,(1)执行完全数据库备份BACKUPDATABASEcompanyTODISK=D:SQLBackupcompany.bak(2)执行差异数据库备份BACKUPDATABASEcompanyTOcompany_backupWITHDIFFERENTIAL(3)执行事务处理日志备份BACKUPLOGcompanyTOcompany_log_backup在BACKUPLOG语句中可以使用WITHNO_TRUNCATE参数,指定在完成事务日志备份以后,并不清空原有日志的数据。(4)执行文件和文件组备份可以在BACKUPDATABASE语句中使用“FILE=逻辑文件名”或“FILEGROUP=逻辑文件组名”执行一个文件和文件组备份。BACKUPDATABASEcompanyFILEGROUP=PRIMARYTOcompany_filegroupbackup_primary,2020年5月18日,10.3.1使用企业管理器恢复数据库备份,启动企业管理服务器,展开服务器组,然后展开服务器。展开“数据库”文件夹,右击数据库,指向“所有任务”子菜单,然后单击“还原数据库”命令,弹出如图所示的对话框。在“还原为数据库”列表框中,如果要恢复的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。若要用新名称恢复数据库,输入新的数据库名称。在还原选项栏中单击“数据库”单选按钮。,2020年5月18日,在“要还原的第一个备份”列表中,选择要恢复的备份集。在“还原”列表中,单击要恢复的数据库备份。单击“选项”选项卡并执行下列操作:(可选)在“还原为”中输入组成数据库备份的各数据库文件的新名称或新位置。如果没有其他要应用的事务日志或差异数据库备份,单击“使数据库可以继续运行,但无法恢复其他事务日志”。如果要应用另一个事务日志或差异数据库备份,则单击“使数据库不再运行,但能恢复其他事务日志”然后单击“确认”开始恢复。,2020年5月18日,10.3.2使用T-SQL语句恢复数据库,RESTORE恢复使用BACKUP命令所做的备份恢复数据库的语法格式为:RESTOREDATABASEdatabase_name|database_name_var,.nFROM,.n恢复事务日志的语法格式为:RESTORELOGdatabase_name|database_name_varFROM,.n例:显示恢复完整数据库备份。restoredatabaselwzzfromlwzz_1例:恢复完整数据库备份后恢复差异备份。另外,本例还说明如何恢复媒体上的另一个备份集,差异备份追加到包含完整数据库备份的备份设备上。restoredatabaselwzzfromlwzz_1withnorecoveryrestoredatabaselwzzfromlwzz_1withfile=2,2020年5月18日,10.4数据传输,10.4.1使用导入导出向导导入数据是从SQLServer的外部数据源(如ASCII文本文件)中检索数据,并将数据插入到SQLServer表的过程。导出数据是将SQLServer实例中的数据析取为某些用户指定格式的过程,例如将SQLServer表的内容复制到MicrosoftAccess数据库中。将数据从外部数据源导入SQLServ

温馨提示

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

评论

0/150

提交评论