《数据库》第十讲数据的备份、恢复与传输.ppt课件.ppt

上传人(卖家):三亚风情 文档编号:3183795 上传时间:2022-07-30 格式:PPT 页数:28 大小:85.50KB
下载 相关 举报
《数据库》第十讲数据的备份、恢复与传输.ppt课件.ppt_第1页
第1页 / 共28页
《数据库》第十讲数据的备份、恢复与传输.ppt课件.ppt_第2页
第2页 / 共28页
《数据库》第十讲数据的备份、恢复与传输.ppt课件.ppt_第3页
第3页 / 共28页
《数据库》第十讲数据的备份、恢复与传输.ppt课件.ppt_第4页
第4页 / 共28页
《数据库》第十讲数据的备份、恢复与传输.ppt课件.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、第十讲数据的备份、恢复和传输教学内容教学内容l事务概念、属性、执行事务的事务概念、属性、执行事务的3 3种模式种模式l数据锁的概念、锁的对象、锁的方法以及数据锁的概念、锁的对象、锁的方法以及死锁问题死锁问题l数据的备份、恢复以及传输的方法数据的备份、恢复以及传输的方法学习目标及重点学习目标及重点学习目标学习目标l掌握事务概念、属性掌握事务概念、属性l掌握数据锁的概念和死锁问题掌握数据锁的概念和死锁问题l掌握数据备份的概念掌握数据备份的概念l学会如何备份数据库、恢复数据库学会如何备份数据库、恢复数据库lSQL Server数据库与其它软件的数据交换数据库与其它软件的数据交换重点与难点重点与难点l

2、事务概念事务概念l事务属性事务属性l执行事务的执行事务的3 3种模式种模式l数据锁的概念及死锁问题数据锁的概念及死锁问题l如何在企业管理器中执行数据库备份如何在企业管理器中执行数据库备份l如何使用如何使用Transact-SQL语句执行数据库备份语句执行数据库备份l如何使用企业管理器恢复数据库如何使用企业管理器恢复数据库l如何使用如何使用Transact-SQL语句恢复数据库语句恢复数据库10.1 10.1 事务简介事务简介l10.1.1 事务概念事务概念事务是作为单个逻辑工作单元执行的一系列操事务是作为单个逻辑工作单元执行的一系列操作。作。一个逻辑工作单元必须有四个属性,称为一个逻辑工作单元

3、必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务性,只有这样才能成为一个事务 10.1.2 10.1.2 事务的属性(事务的属性(ACIDACID)l 原子性原子性(Atomicity)(Atomicity)事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。l 一致性一致性(Consistency)(Consistency)事务在完成时,必须使所有的数据都保持一致状态l 隔离性隔离性(Isolation)(Isolation)由并发事务所作的修改必须与任何其它并发事务所作的修改隔离l 持久性持

4、久性(Durability)(Durability)事务完成之后,它对于系统的影响是永久性的。10.1.3 10.1.3 执行事务的执行事务的3 3种模式种模式1.1.显式事务显式事务:可以显式地在其中定义事务的启动和结束。可以显式地在其中定义事务的启动和结束。语法语法BEGIN TRAN SACTION BEGIN TRAN SACTION transaction_nametransaction_name|tran_name_variabletran_name_variable WITH MARK WITH MARK descriptiondescription 参数参数 transacti

5、on_nametransaction_name是给事务分配的名称。不允许标识符多于是给事务分配的名称。不允许标识符多于 32 32 个字符。个字符。tran_name_variabletran_name_variable用用 charchar、varcharvarchar、ncharnchar 或或 nvarcharnvarchar 数据类型声明有效事务的数据类型声明有效事务的变量的名称变量的名称WITH MARK WITH MARK descriptiondescription指定在日志中标记事务。指定在日志中标记事务。Description Description 是描述该标记的字符串。是

6、描述该标记的字符串。如果使用了如果使用了 WITH MARKWITH MARK,则必须指定事务名。,则必须指定事务名。WITH MARK WITH MARK 允许将事允许将事务日志还原到命名标记。务日志还原到命名标记。显式事务语句显式事务语句功能功能语句语句开始事务开始事务BEGIN TRANSACTION提交事务提交事务COMMIT TRANSACTION或或COMMITWORK回滚事务回滚事务ROLLBACK TRANSACTION或或ROLLBACKWORK自动提交、隐含事务自动提交、隐含事务l2.2.自动提交事务自动提交事务系统默认的事务方式,许多系统默认的事务方式,许多SQLSQL语

7、句在执行时都会自动语句在执行时都会自动发生的事务。每个数据操作语句即为一个事务。发生的事务。每个数据操作语句即为一个事务。l3.3.隐含事务隐含事务当连接以隐性事务模式进行操作时,当连接以隐性事务模式进行操作时,SQL ServerSQL Server将在将在提交或回滚当前事务后自动启动新事务。无须描述事提交或回滚当前事务后自动启动新事务。无须描述事务的开始,只须提交或回滚每个事务。隐性事务模式务的开始,只须提交或回滚每个事务。隐性事务模式生成连续的事务链。生成连续的事务链。EX EX 事务事务例:建立内含事务的存储过程例:建立内含事务的存储过程Create Proc Create Proc

8、TestTranasTestTranasBegin TRAN Begin TRAN Select Select*From From StudInfoStudInfoRollbackRollbackGo Go 事务保存点的设置与回滚事务保存点的设置与回滚SAVE TRANSACTION SAVE TRANSACTION 在事务内设置保存点。在事务内设置保存点。语法语法 SAVE TRAN SACTION SAVE TRAN SACTION savepoint_namesavepoint_name|savepoint_variablesavepoint_variable 参数参数 savepoin

9、t_namesavepoint_name是指派给保存点的名称。保存点名称必须符合标识符规则,但只使用前是指派给保存点的名称。保存点名称必须符合标识符规则,但只使用前 32 32 个字个字符符 savepoint_variablesavepoint_variable是用户定义的、含有有效保存点名称的变量的名称。必须用是用户定义的、含有有效保存点名称的变量的名称。必须用 charchar、varcharvarchar、ncharnchar 或或 nvarcharnvarchar 数据类型声明该变量。数据类型声明该变量。BEGIN TRANBEGIN TRANSAVE TRAN SAVE TRAN

10、TempTranTempTranIFIF(ERROR0ERROR0)BEGINBEGINROLLBACK TRAN ROLLBACK TRAN TempTranTempTran-回滚到事务保存点回滚到事务保存点/*失败时所使用的变通方案失败时所使用的变通方案*/END.IF(.)END.IF(.)COMMITCOMMITELSEELSEROLLBACK 分布式事务分布式事务 如果要在事务中存取多个数据库服务器中的数据(包含执行存储过程),如果要在事务中存取多个数据库服务器中的数据(包含执行存储过程),就必须使用就必须使用“分布式事务分布式事务”(Distributed TransactionD

11、istributed Transaction)Begin Distributed Begin Distributed trantranInsert into Insert into CourseInfo(CourseID,CourseNameCourseInfo(CourseID,CourseName)values(A00232,TestName)values(A00232,TestName)If ERROR0 GOTO ERRORPROCIf ERROR0 GOTO ERRORPROCINSERT INTO INSERT INTO AnotherServer.DatabaseName.dbo

12、.tablenameAnotherServer.DatabaseName.dbo.tablename(FieldName1,FieldName2)values(Values1,Values2)(FieldName1,FieldName2)values(Values1,Values2)ERRORPROC:ERRORPROC:IF ERROR0IF ERROR0ROLLBACKROLLBACKELSEELSE COMMIT COMMIT 10.2 10.2 数据锁数据锁 l锁定(锁定(LockLock)是将指定的数据临时锁起来供我们使用,以防)是将指定的数据临时锁起来供我们使用,以防止该数据被别人

13、修改或读取。止该数据被别人修改或读取。l并发性并发性(Concurrency)(Concurrency):允许多个事务同时进行数据处理的:允许多个事务同时进行数据处理的性质性质乐观与悲观并发性控制乐观与悲观并发性控制l乐观并发性控制乐观并发性控制(Optimistic Concurrency)(Optimistic Concurrency):乐观控制(或:乐观控制(或称乐观锁定)就是假设发生数据存取冲突的机会很小,因此称乐观锁定)就是假设发生数据存取冲突的机会很小,因此在事务中并不会持续锁定数据,而只有在更改数据时才会去在事务中并不会持续锁定数据,而只有在更改数据时才会去锁定数据并检查是否发生

14、存取冲突。锁定数据并检查是否发生存取冲突。l悲观并发性控制(悲观并发性控制(PessimiticPessimitic Concurrency Concurrency):悲观控制):悲观控制(或称悲观锁定)与乐观控制刚好相反,它会在事务中持续(或称悲观锁定)与乐观控制刚好相反,它会在事务中持续锁定要使用的数据,以确保数据可以正确存取。锁定要使用的数据,以确保数据可以正确存取。锁的对象锁的对象资源资源说明说明RIDRID以记录(以记录(RowRow)为单位作锁定)为单位作锁定KeyKey已设置为索引的字段已设置为索引的字段PagePage数据页或索引页数据页或索引页(8KB(8KB大小的页面大小的

15、页面)ExtentExtent8 8个连续的个连续的Page(Page(分配内存给数据页时的分配内存给数据页时的单位单位)TableTable整个数据表(包含其中所有数据及索引)整个数据表(包含其中所有数据及索引)DBDB整个数据库整个数据库锁的方法锁的方法 l独占式锁(独占式锁(Exclusive LockExclusive Lock):):ExclusiveExclusive锁可禁锁可禁止其他事务对数据作存取或锁定操作止其他事务对数据作存取或锁定操作l共享式锁共享式锁(Shared Lock)(Shared Lock):SharedShared锁可将数据设成锁可将数据设成只读,并禁止其他事

16、务对该数据作只读,并禁止其他事务对该数据作ExclusiveExclusive锁定,锁定,但却允许其他事务对数据再作但却允许其他事务对数据再作SharedShared锁定。锁定。l更改式锁更改式锁(Update Lock)(Update Lock):UpdateUpdate锁可以和锁可以和SharedShared锁共存,但禁止其他的锁共存,但禁止其他的UpdateUpdate锁或锁或ExclusiveExclusive锁。锁。死锁问题死锁问题 l当多个事务的手中都锁定了某些资源,却又当多个事务的手中都锁定了某些资源,却又在等待另外一些被彼此锁定的资源时,就会在等待另外一些被彼此锁定的资源时,就

17、会发生死锁发生死锁(Deadlock)(Deadlock)l避免死锁发生的技巧避免死锁发生的技巧使用相同的顺序来存取数据使用相同的顺序来存取数据尽量缩短事务的时间尽量缩短事务的时间尽量使用较低的隔离等级尽量使用较低的隔离等级 10.3 10.3 数据库备份概念数据库备份概念l数据库的备份和恢复是维护数据库的安全性和完整性数据库的备份和恢复是维护数据库的安全性和完整性的重要组成部分。的重要组成部分。l通过备份数据库,可以防止因为各种原因而造成的数通过备份数据库,可以防止因为各种原因而造成的数据破坏和丢失。据破坏和丢失。l恢复是指在造成数据丢失和破坏以后利用备份来恢复恢复是指在造成数据丢失和破坏以

18、后利用备份来恢复数据的操作。数据的操作。l用户的错误操作和蓄意破坏、病毒攻击和自然界不可用户的错误操作和蓄意破坏、病毒攻击和自然界不可抗力,造成数据丢失的因素。抗力,造成数据丢失的因素。10.3.1 10.3.1 备份设备备份设备l创建备份时,必须选择存放备份数据库的创建备份时,必须选择存放备份数据库的备份设备。备份设备。l(1)磁盘设备和磁带设备)磁盘设备和磁带设备磁盘备份设备是硬盘或其他磁盘存储媒体上的磁盘备份设备是硬盘或其他磁盘存储媒体上的文件,可以像操作系统文件一样进行管理文件,可以像操作系统文件一样进行管理备份到远程计算机上的磁盘,使用通用命名规备份到远程计算机上的磁盘,使用通用命名

19、规则名称(则名称(UNC),以),以ServernameSharenamePathFile格式指定格式指定文件的位置。文件的位置。(2 2)物理设备和逻辑设备)物理设备和逻辑设备lSQL Server使用物理设备名称或逻辑设备名称标使用物理设备名称或逻辑设备名称标识备份设备。物理备份设备是操作系统用来标识识备份设备。物理备份设备是操作系统用来标识备份设备的名称,如备份设备的名称,如C:BackupsAccountingFull.bak。可以用逻辑设备名称执行可以用逻辑设备名称执行BACKUP语句:语句:lBACKUP DATABASE accounting TO Accounting_Back

20、up也可以使用逻辑设备名称执行语句:也可以使用逻辑设备名称执行语句:lBACKUP DATABASE accounting TO DISK=C:BackupsAccountingFull.Bak(3 3)创建永久备份设备)创建永久备份设备使用企业管理创建永久备份设备使用企业管理创建永久备份设备使用使用T-SQL语句执行存储过程语句执行存储过程sp_addumpdevice创建一个可以再次使创建一个可以再次使用的备份设备。用的备份设备。lSp_addumpdevice 设备类型设备类型,设备逻辑名设备逻辑名,设备的物理名称设备的物理名称如:使用本地磁盘的一个文件创建一个逻辑名称为如:使用本地磁盘

21、的一个文件创建一个逻辑名称为“company_back”的磁盘备份设备:的磁盘备份设备:lEXEC sp_addumpdevice disk,company_back,d:Data_backupcompany_back.bak删除一个备份设备用存储过程删除一个备份设备用存储过程sp_dropdevicelsp_dropdevice 设备的逻辑名称设备的逻辑名称,delfile删除备份设备删除备份设备company_back,并不删除相关的物理文件:,并不删除相关的物理文件:lEXEC sp_dropdevice company_back删除备份设备并将相关的物理文件删除删除备份设备并将相关的物

22、理文件删除lEXEC sp_dropdevice company_back,DELFILE10.3.2 10.3.2 备份策略备份策略SQL Server 2000提出提出4种主要的备份方式:数据库种主要的备份方式:数据库备份、事务日志备份、差异备份、文件和文件组备份、事务日志备份、差异备份、文件和文件组备份。备份。l完整数据库备份是数据库的完整复本。完整数据库备份是数据库的完整复本。l事务日志备份仅复制事务日志。事务日志备份仅复制事务日志。l差异备份仅复制自上一次完整数据库备份之后修差异备份仅复制自上一次完整数据库备份之后修改过的数据库页。改过的数据库页。l文件或文件组还原仅允许恢复数据库中

23、位于故障文件或文件组还原仅允许恢复数据库中位于故障磁盘上的那部分磁盘上的那部分10.3.3 10.3.3 执行数据库备份执行数据库备份使用企业管理器使用企业管理器创建数据库备份(企业管理器)创建数据库备份(企业管理器)l展开服务器组,然后展开服务器。展开服务器组,然后展开服务器。l展开展开数据库数据库文件夹,右击数据库,指向文件夹,右击数据库,指向所有任务所有任务子菜单,然后单击子菜单,然后单击备份数据库备份数据库命令。命令。l在在名称名称框内,输入备份集名称。在框内,输入备份集名称。在描述描述框中输入框中输入对备份集的描述。(可选)对备份集的描述。(可选)l在在备份备份选项下单击选项下单击数

24、据库数据库 完全完全。l在在目的目的选项下,单击选项下,单击磁带磁带或或磁盘磁盘,然后指定备,然后指定备份目的地。份目的地。l如果没出现备份目的地,则单击如果没出现备份目的地,则单击添加添加以添加现有的以添加现有的目的地或创建新目的地。目的地或创建新目的地。创建数据库备份创建数据库备份l在在重写重写选项下,执行下列操作之一:选项下,执行下列操作之一:l单击单击追加到媒体追加到媒体,将备份追加到备份设备上任何现有的备份中。,将备份追加到备份设备上任何现有的备份中。l单击单击重写现有媒体重写现有媒体,将重写备份设备中任何现有的备份。,将重写备份设备中任何现有的备份。l选择选择调度调度复选框调度备份

25、操作在以后执行或定期执行。(可选)复选框调度备份操作在以后执行或定期执行。(可选)l单击单击选项选项选项卡并执行下列一项或多项操作:(可选)选项卡并执行下列一项或多项操作:(可选)l选择选择完成后验证备份完成后验证备份复选框,在备份时对备份进行验证。复选框,在备份时对备份进行验证。l选择选择备份后弹出磁带备份后弹出磁带复选框,在备份操作完成后弹出磁带。该选复选框,在备份操作完成后弹出磁带。该选项只适用于磁带设备。项只适用于磁带设备。l选择选择检查媒体集名称和备份集到期时间检查媒体集名称和备份集到期时间,检查备份媒体以防意外,检查备份媒体以防意外重写。重写。l如果是第一次使用备份媒体,或者要更改

26、现有的媒体标签,则在如果是第一次使用备份媒体,或者要更改现有的媒体标签,则在媒体集标签媒体集标签框下选择框下选择初始化并标识媒体初始化并标识媒体复选框,然后输入媒体复选框,然后输入媒体集名称和媒体集描述。只有在重写媒体时才能对其进行初始化和标集名称和媒体集描述。只有在重写媒体时才能对其进行初始化和标识设置。识设置。数据库备份数据库备份(1)执行完全数据库备份)执行完全数据库备份lBACKUP DATABASE company TO DISK=D:SQLBackupcompany.bak(2)执行差异数据库备份)执行差异数据库备份lBACKUP DATABASE company TO compa

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

28、件组备份。执行一个文件和文件组备份。lBACKUP DATABASE company FILEGROUP=PRIMARY TO company_filegroupbackup_primary10.3.1 10.3.1 使用企业管理器恢复数据库备份使用企业管理器恢复数据库备份l启动企业管理服务器,展开服务器组,然后展启动企业管理服务器,展开服务器组,然后展开服务器。开服务器。l展开展开“数据库数据库”文件夹,右击数据库,指向文件夹,右击数据库,指向“所有任务所有任务”子菜单,然后单击子菜单,然后单击“还原数据库还原数据库”命令,弹出如图所示的对话框。命令,弹出如图所示的对话框。l在在“还原为数据

29、库还原为数据库”列表框中,如果要恢复的列表框中,如果要恢复的数据库名称与显示的默认数据库名称不同,请数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。若要用新名称恢复数在其中进行输入或选择。若要用新名称恢复数据库,输入新的数据库名称。据库,输入新的数据库名称。l在还原选项栏中单击在还原选项栏中单击“数据库数据库”单选按钮。单选按钮。l在在“要还原的第一个备份要还原的第一个备份”列表中,选择要恢复的备份列表中,选择要恢复的备份集。集。l在在“还原还原”列表中,单击要恢复的数据库备份。列表中,单击要恢复的数据库备份。l单击单击“选项选项”选项卡并执行下列操作:(可选)在选项卡并执行下列

30、操作:(可选)在“还还原为原为”中输入组成数据库备份的各数据库文件的新名称中输入组成数据库备份的各数据库文件的新名称或新位置。或新位置。l如果没有其他要应用的事务日志或差异数据库备份,单如果没有其他要应用的事务日志或差异数据库备份,单击击“使数据库可以继续运行,但无法恢复其他事务日使数据库可以继续运行,但无法恢复其他事务日志志”。l如果要应用另一个事务日志或差异数据库备份,则单如果要应用另一个事务日志或差异数据库备份,则单击击“使数据库不再运行,但能恢复其他事务日志使数据库不再运行,但能恢复其他事务日志”l然后单击然后单击“确认确认”开始恢复。开始恢复。10.3.2 10.3.2 使用使用T-

31、SQLT-SQL语句恢复数据库语句恢复数据库RESTORE恢复使用恢复使用 BACKUP 命令所做的备份命令所做的备份恢复数据库的语法格式为:恢复数据库的语法格式为:lRESTORE DATABASE database_name|database_name_var l ,.n l FROM ,.n 恢复事务日志的语法格式为:恢复事务日志的语法格式为:lRESTORE LOG database_name|database_name_var l FROM ,.n 例:显示恢复完整数据库备份。例:显示恢复完整数据库备份。lrestore database lwzz from lwzz _1例:恢复完

32、整数据库备份后恢复差异备份。另外,本例还说明如何恢复媒体上的例:恢复完整数据库备份后恢复差异备份。另外,本例还说明如何恢复媒体上的另一个备份集,差异备份追加到包含完整数据库备份的备份设备上。另一个备份集,差异备份追加到包含完整数据库备份的备份设备上。lrestore database lwzz from lwzz _1 with norecoverylrestore database lwzz from lwzz _1 with file=210.4 10.4 数据传输数据传输10.4.1 使用导入导出向导使用导入导出向导l导入数据是从导入数据是从 SQL Server的外部数据源(如的外部数

33、据源(如 ASCII 文本文件)中检索数据,文本文件)中检索数据,并将数据插入到并将数据插入到 SQL Server 表的过程。导出数据是将表的过程。导出数据是将 SQL Server 实例中实例中的数据析取为某些用户指定格式的过程,例如将的数据析取为某些用户指定格式的过程,例如将 SQL Server 表的内容复制表的内容复制到到 Microsoft Access 数据库中。数据库中。l将数据从外部数据源导入将数据从外部数据源导入 SQL Server 实例很可能是建立数据库后要执行的实例很可能是建立数据库后要执行的第一步。数据导入第一步。数据导入 SQL Server 数据库后,即可开始使

34、用该数据库数据库后,即可开始使用该数据库l将数据导入将数据导入 SQL Server 实例可以是一次性操作。实例可以是一次性操作。l导入数据也可以是不断进行的任务。导入数据也可以是不断进行的任务。l导出数据的发生频率通常较低。导出数据的发生频率通常较低。lSQL Server 提供多种工具用于各种数据源的数据导入和导出,这些数据源提供多种工具用于各种数据源的数据导入和导出,这些数据源包括文本文件、包括文本文件、ODBC 数据源(例如数据源(例如 Oracle 数据库)、数据库)、OLE DB 数据源数据源(例如其它(例如其它 SQL Server 实例)、实例)、ASCII 文本文件和文本文件和 Excel 电子表格电子表格10.4.2 使用使用DTS设计器设计器实用实用SQL ServerSQL Server操作操作l生成生成SQL脚本脚本l将数据导出到网页将数据导出到网页l关系图关系图l数据库的移动与复制数据库的移动与复制l实用的实用的DTS技术技术

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《数据库》第十讲数据的备份、恢复与传输.ppt课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|