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

下载本文档

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

文档简介

1、第十讲数据的备份、恢复和传输教学内容事务概念、属性、执行事务的3种模式数据锁的概念、锁的对象、锁的方法以及死锁问题数据的备份、恢复以及传输的方法2022年7月23日学习目标及重点学习目标掌握事务概念、属性掌握数据锁的概念和死锁问题掌握数据备份的概念学会如何备份数据库、恢复数据库SQL Server数据库与其它软件的数据交换重点与难点事务概念事务属性执行事务的3种模式数据锁的概念及死锁问题如何在企业管理器中执行数据库备份如何使用Transact-SQL语句执行数据库备份如何使用企业管理器恢复数据库如何使用Transact-SQL语句恢复数据库2022年7月23日10.1 事务简介10.1.1 事

2、务概念事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务 2022年7月23日10.1.2 事务的属性(ACID)原子性(Atomicity)事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。一致性(Consistency)事务在完成时,必须使所有的数据都保持一致状态隔离性(Isolation)由并发事务所作的修改必须与任何其它并发事务所作的修改隔离持久性(Durability)事务完成之后,它对于系统的影响是永久性的。2022年7月23日10.1.3 执行事务的3种模式

3、1.显式事务:可以显式地在其中定义事务的启动和结束。语法BEGIN TRAN SACTION transaction_name | tran_name_variable WITH MARK description 参数 transaction_name是给事务分配的名称。不允许标识符多于 32 个字符。tran_name_variable用 char、varchar、nchar 或 nvarchar 数据类型声明有效事务的变量的名称WITH MARK description指定在日志中标记事务。Description 是描述该标记的字符串。如果使用了 WITH MARK,则必须指定事务名。WI

4、TH MARK 允许将事务日志还原到命名标记。2022年7月23日显式事务语句功能语句开始事务BEGIN TRANSACTION提交事务COMMIT TRANSACTION或COMMITWORK回滚事务ROLLBACK TRANSACTION或ROLLBACKWORK2022年7月23日自动提交、隐含事务2.自动提交事务系统默认的事务方式,许多SQL语句在执行时都会自动发生的事务。每个数据操作语句即为一个事务。3.隐含事务当连接以隐性事务模式进行操作时,SQL Server将在提交或回滚当前事务后自动启动新事务。无须描述事务的开始,只须提交或回滚每个事务。隐性事务模式生成连续的事务链。 202

5、2年7月23日EX 事务例:建立内含事务的存储过程Create Proc TestTranasBegin TRAN Select * From StudInfoRollbackGo 2022年7月23日事务保存点的设置与回滚SAVE TRANSACTION 在事务内设置保存点。语法 SAVE TRAN SACTION savepoint_name | savepoint_variable 参数 savepoint_name是指派给保存点的名称。保存点名称必须符合标识符规则,但只使用前 32 个字符savepoint_variable是用户定义的、含有有效保存点名称的变量的名称。必须用 char

6、、varchar、nchar 或 nvarchar 数据类型声明该变量。BEGIN TRANSAVE TRAN TempTranIF(ERROR0)BEGINROLLBACK TRAN TempTran -回滚到事务保存点/*失败时所使用的变通方案*/END.IF(.)COMMITELSEROLLBACK 2022年7月23日分布式事务 如果要在事务中存取多个数据库服务器中的数据(包含执行存储过程),就必须使用“分布式事务”(Distributed Transaction)Begin Distributed tranInsert into CourseInfo(CourseID,CourseN

7、ame)values(A00232,TestName)If ERROR0 GOTO ERRORPROCINSERT INTO AnotherServer.DatabaseName.dbo.tablename(FieldName1,FieldName2) values(Values1,Values2)ERRORPROC:IF ERROR0ROLLBACKELSE COMMIT 2022年7月23日10.2 数据锁 锁定(Lock)是将指定的数据临时锁起来供我们使用,以防止该数据被别人修改或读取。并发性(Concurrency):允许多个事务同时进行数据处理的性质乐观与悲观并发性控制乐观并发性控制

8、(Optimistic Concurrency):乐观控制(或称乐观锁定)就是假设发生数据存取冲突的机会很小,因此在事务中并不会持续锁定数据,而只有在更改数据时才会去锁定数据并检查是否发生存取冲突。悲观并发性控制(Pessimitic Concurrency):悲观控制(或称悲观锁定)与乐观控制刚好相反,它会在事务中持续锁定要使用的数据,以确保数据可以正确存取。 2022年7月23日锁的对象资源说明RID以记录(Row)为单位作锁定Key已设置为索引的字段Page数据页或索引页(8KB大小的页面)Extent8个连续的Page(分配内存给数据页时的单位)Table整个数据表(包含其中所有数据及

9、索引)DB整个数据库2022年7月23日锁的方法 独占式锁(Exclusive Lock):Exclusive锁可禁止其他事务对数据作存取或锁定操作共享式锁(Shared Lock):Shared锁可将数据设成只读,并禁止其他事务对该数据作Exclusive锁定,但却允许其他事务对数据再作Shared锁定。更改式锁(Update Lock):Update锁可以和Shared锁共存,但禁止其他的Update锁或Exclusive锁。 2022年7月23日死锁问题 当多个事务的手中都锁定了某些资源,却又在等待另外一些被彼此锁定的资源时,就会发生死锁(Deadlock)避免死锁发生的技巧使用相同的顺

10、序来存取数据尽量缩短事务的时间尽量使用较低的隔离等级 2022年7月23日10.3 数据库备份概念数据库的备份和恢复是维护数据库的安全性和完整性的重要组成部分。通过备份数据库,可以防止因为各种原因而造成的数据破坏和丢失。恢复是指在造成数据丢失和破坏以后利用备份来恢复数据的操作。用户的错误操作和蓄意破坏、病毒攻击和自然界不可抗力,造成数据丢失的因素。2022年7月23日10.3.1 备份设备创建备份时,必须选择存放备份数据库的备份设备。(1)磁盘设备和磁带设备磁盘备份设备是硬盘或其他磁盘存储媒体上的文件,可以像操作系统文件一样进行管理备份到远程计算机上的磁盘,使用通用命名规则名称(UNC),以S

11、ervernameSharenamePathFile格式指定文件的位置。 2022年7月23日(2)物理设备和逻辑设备SQL Server使用物理设备名称或逻辑设备名称标识备份设备。物理备份设备是操作系统用来标识备份设备的名称,如C:BackupsAccountingFull.bak。可以用逻辑设备名称执行BACKUP语句:BACKUP DATABASE accounting TO Accounting_Backup也可以使用逻辑设备名称执行语句:BACKUP DATABASE accounting TO DISK=C:BackupsAccountingFull.Bak2022年7月23日(3

12、)创建永久备份设备使用企业管理创建永久备份设备使用T-SQL语句执行存储过程sp_addumpdevice创建一个可以再次使用的备份设备。Sp_addumpdevice 设备类型,设备逻辑名,设备的物理名称如:使用本地磁盘的一个文件创建一个逻辑名称为“company_back”的磁盘备份设备:EXEC sp_addumpdevice disk,company_back,d:Data_backupcompany_back.bak删除一个备份设备用存储过程sp_dropdevicesp_dropdevice 设备的逻辑名称,delfile删除备份设备company_back,并不删除相关的物理文件

13、:EXEC sp_dropdevice company_back删除备份设备并将相关的物理文件删除EXEC sp_dropdevice company_back,DELFILE2022年7月23日10.3.2 备份策略SQL Server 2000提出4种主要的备份方式:数据库备份、事务日志备份、差异备份、文件和文件组备份。完整数据库备份是数据库的完整复本。事务日志备份仅复制事务日志。差异备份仅复制自上一次完整数据库备份之后修改过的数据库页。文件或文件组还原仅允许恢复数据库中位于故障磁盘上的那部分2022年7月23日10.3.3 执行数据库备份使用企业管理器创建数据库备份(企业管理器)展开服务

14、器组,然后展开服务器。展开数据库文件夹,右击数据库,指向所有任务子菜单,然后单击备份数据库命令。在名称框内,输入备份集名称。在描述框中输入对备份集的描述。(可选)在备份选项下单击数据库 完全。在目的选项下,单击磁带或磁盘,然后指定备份目的地。如果没出现备份目的地,则单击添加以添加现有的目的地或创建新目的地。2022年7月23日创建数据库备份在重写选项下,执行下列操作之一: 单击追加到媒体,将备份追加到备份设备上任何现有的备份中。单击重写现有媒体,将重写备份设备中任何现有的备份。 选择调度复选框调度备份操作在以后执行或定期执行。(可选)单击选项选项卡并执行下列一项或多项操作:(可选) 选择完成后

15、验证备份复选框,在备份时对备份进行验证。选择备份后弹出磁带复选框,在备份操作完成后弹出磁带。该选项只适用于磁带设备。选择检查媒体集名称和备份集到期时间,检查备份媒体以防意外重写。如果是第一次使用备份媒体,或者要更改现有的媒体标签,则在媒体集标签框下选择初始化并标识媒体复选框,然后输入媒体集名称和媒体集描述。只有在重写媒体时才能对其进行初始化和标识设置。2022年7月23日数据库备份(1)执行完全数据库备份BACKUP DATABASE company TO DISK=D:SQLBackupcompany.bak(2)执行差异数据库备份BACKUP DATABASE company TO com

16、pany_backup WITH DIFFERENTIAL(3)执行事务处理日志备份BACKUP LOG company TO company_log_backup在BACKUP LOG语句中可以使用WITH NO_TRUNCATE参数,指定在完成事务日志备份以后,并不清空原有日志的数据。(4)执行文件和文件组备份可以在BACKUP DATABASE语句中使用“FILE=逻辑文件名”或“FILEGROUP=逻辑文件组名”执行一个文件和文件组备份。BACKUP DATABASE company FILEGROUP=PRIMARY TO company_filegroupbackup_primar

17、y2022年7月23日10.3.1 使用企业管理器恢复数据库备份启动企业管理服务器,展开服务器组,然后展开服务器。展开“数据库”文件夹,右击数据库,指向“所有任务”子菜单,然后单击“还原数据库”命令,弹出如图所示的对话框。在“还原为数据库”列表框中,如果要恢复的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。若要用新名称恢复数据库,输入新的数据库名称。在还原选项栏中单击“数据库”单选按钮。2022年7月23日在“要还原的第一个备份”列表中,选择要恢复的备份集。在“还原”列表中,单击要恢复的数据库备份。单击“选项”选项卡并执行下列操作:(可选)在“还原为”中输入组成数据库备份的各数

18、据库文件的新名称或新位置。如果没有其他要应用的事务日志或差异数据库备份,单击“使数据库可以继续运行,但无法恢复其他事务日志”。如果要应用另一个事务日志或差异数据库备份,则单击“使数据库不再运行,但能恢复其他事务日志”然后单击“确认”开始恢复。2022年7月23日10.3.2 使用T-SQL语句恢复数据库RESTORE恢复使用 BACKUP 命令所做的备份恢复数据库的语法格式为:RESTORE DATABASE database_name | database_name_var ,.n FROM ,.n 恢复事务日志的语法格式为:RESTORE LOG database_name | database_name_var FROM ,.n 例:显示恢复完整数据库备份。restore database lwzz from lwzz _1例:恢复完整数据库备份后恢复差异备份。另外,本例还说明如何恢复媒体上的另一个备份集,差异备份追加到包含完整数据库备份的备份设备上。restor

温馨提示

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

评论

0/150

提交评论