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

PPT
  • 阅读 110 次
  • 下载 0 次
  • 页数 28 页
  • 大小 85.503 KB
  • 2022-11-13 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档8.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
《数据库》第十讲数据的备份、恢复与传输.ppt课件
可在后台配置第一页与第二页中间广告代码
《数据库》第十讲数据的备份、恢复与传输.ppt课件
可在后台配置第二页与第三页中间广告代码
《数据库》第十讲数据的备份、恢复与传输.ppt课件
可在后台配置第三页与第四页中间广告代码
《数据库》第十讲数据的备份、恢复与传输.ppt课件
《数据库》第十讲数据的备份、恢复与传输.ppt课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 28
  • 收藏
  • 违规举报
  • © 版权认领
下载文档8.00 元 加入VIP免费下载
文本内容

【文档说明】《数据库》第十讲数据的备份、恢复与传输.ppt课件.ppt,共(28)页,85.503 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-6037.html

以下为本文档部分文字说明:

第十讲数据的备份、恢复和传输2022年11月13日教学内容⚫事务概念、属性、执行事务的3种模式⚫数据锁的概念、锁的对象、锁的方法以及死锁问题⚫数据的备份、恢复以及传输的方法2022年11月13日学习目标及重点学习目标⚫掌握事务概念、属性⚫掌握数据锁的概念和死锁问题⚫掌握数据备份的概

念⚫学会如何备份数据库、恢复数据库⚫SQLServer数据库与其它软件的数据交换重点与难点⚫事务概念⚫事务属性⚫执行事务的3种模式⚫数据锁的概念及死锁问题⚫如何在企业管理器中执行数据库备份⚫如何使用Transact-SQL语句执行数据库备份⚫如何使用企业管理器恢复数据库⚫如何使用Transac

t-SQL语句恢复数据库2022年11月13日10.1事务简介⚫10.1.1事务概念•事务是作为单个逻辑工作单元执行的一系列操作。•一个逻辑工作单元必须有四个属性,称为ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务2022年11月13日10.1.2事务的属性

(ACID)⚫原子性(Atomicity)•事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。⚫一致性(Consistency)•事务在完成时,必须使所有的数据都保持一致状态⚫隔离性(Isol

ation)•由并发事务所作的修改必须与任何其它并发事务所作的修改隔离⚫持久性(Durability)•事务完成之后,它对于系统的影响是永久性的。2022年11月13日10.1.3执行事务的3种模式1.显式事务:可以显式地在其中定义事务的启动和结束。语法

BEGINTRAN[SACTION][transaction_name|@tran_name_variable[WITHMARK['description']]]参数transaction_name是给事务分配的名称。不允许标识符多于32个字符。@tran_name_

variable用char、varchar、nchar或nvarchar数据类型声明有效事务的变量的名称WITHMARK['description']指定在日志中标记事务。Description是描述该标记的字符串。如果使用了WITHMARK,则必须指定事务名。WITHMARK允许将事务

日志还原到命名标记。2022年11月13日显式事务语句功能语句开始事务BEGINTRAN[SACTION]提交事务COMMITTRAN[SACTION]或COMMIT[WORK]回滚事务ROLLBACKTRAN[SACTIO

N]或ROLLBACK[WORK]2022年11月13日自动提交、隐含事务⚫2.自动提交事务•系统默认的事务方式,许多SQL语句在执行时都会自动发生的事务。每个数据操作语句即为一个事务。⚫3.隐含事务•当连接以隐性事务模式进行操作时,SQLServer将在提交或回滚当

前事务后自动启动新事务。无须描述事务的开始,只须提交或回滚每个事务。隐性事务模式生成连续的事务链。2022年11月13日EX事务例:建立内含事务的存储过程CreateProcTestTranasBeginTRANSelect*FromStudInfoRollbackGo2022年11

月13日事务保存点的设置与回滚SAVETRANSACTION在事务内设置保存点。语法SAVETRAN[SACTION]{savepoint_name|@savepoint_variable}参数savepoint_name是指派给保存点的名称。保存点名

称必须符合标识符规则,但只使用前32个字符@savepoint_variable是用户定义的、含有有效保存点名称的变量的名称。必须用char、varchar、nchar或nvarchar数据类型声明该变量。BEGINTRAN……SA

VETRANTempTran……IF(@@ERROR<>0)BEGINROLLBACKTRANTempTran–-回滚到事务保存点……/*失败时所使用的变通方案*/END...IF(...)COMMITELSEROLLBACK2022年11月13日分布式事务如果要在事务中存取多

个数据库服务器中的数据(包含执行存储过程),就必须使用“分布式事务”(DistributedTransaction)BeginDistributedtranInsertintoCourseInfo(CourseID,CourseName)values('A00232','TestName')If

@@ERROR<>0GOTOERRORPROCINSERTINTOAnotherServer.DatabaseName.dbo.tablename(FieldName1,FieldName2)values('Values1','Values2')ERRORPROC:IF@@

ERROR<>0ROLLBACKELSECOMMIT2022年11月13日10.2数据锁⚫锁定(Lock)是将指定的数据临时锁起来供我们使用,以防止该数据被别人修改或读取。⚫并发性(Concurrency):允许多个事务同时进行数据处理的性质乐观与悲观并发性控

制⚫乐观并发性控制(OptimisticConcurrency):乐观控制(或称乐观锁定)就是假设发生数据存取冲突的机会很小,因此在事务中并不会持续锁定数据,而只有在更改数据时才会去锁定数据并检查是否发生存

取冲突。⚫悲观并发性控制(PessimiticConcurrency):悲观控制(或称悲观锁定)与乐观控制刚好相反,它会在事务中持续锁定要使用的数据,以确保数据可以正确存取。2022年11月13日锁的对象资源说明RID以记录(Row)为单位作锁定Key已设置为索引的字段Page数据页或

索引页(8KB大小的页面)Extent8个连续的Page(分配内存给数据页时的单位)Table整个数据表(包含其中所有数据及索引)DB整个数据库2022年11月13日锁的方法⚫独占式锁(ExclusiveLock):Exclusive锁可禁止其他事务对数据作存取或锁定操作⚫共享式锁(Shar

edLock):Shared锁可将数据设成只读,并禁止其他事务对该数据作Exclusive锁定,但却允许其他事务对数据再作Shared锁定。⚫更改式锁(UpdateLock):Update锁可以和Share

d锁共存,但禁止其他的Update锁或Exclusive锁。2022年11月13日死锁问题⚫当多个事务的手中都锁定了某些资源,却又在等待另外一些被彼此锁定的资源时,就会发生死锁(Deadlock)⚫避免死锁发生的技巧•使用相同的顺序来存取数据•尽量缩短事务的时间•尽量使用较低的隔离等级2

022年11月13日10.3数据库备份概念⚫数据库的备份和恢复是维护数据库的安全性和完整性的重要组成部分。⚫通过备份数据库,可以防止因为各种原因而造成的数据破坏和丢失。⚫恢复是指在造成数据丢失和破坏以后利用备份来恢复数据的操作。⚫用户的错误操作和蓄意破坏、病毒

攻击和自然界不可抗力,造成数据丢失的因素。2022年11月13日10.3.1备份设备⚫创建备份时,必须选择存放备份数据库的备份设备。⚫(1)磁盘设备和磁带设备•磁盘备份设备是硬盘或其他磁盘存储媒体上的文件,可以像操作系统文件一样进行管理•备份到远程计算机上的磁盘,使用通用命名规则名称(U

NC),以\\Servername\Sharename\Path\File格式指定文件的位置。2022年11月13日(2)物理设备和逻辑设备⚫SQLServer使用物理设备名称或逻辑设备名称标识备份设备。物理备份设备是操作系统用来标识备份设备的名称,如C:\B

ackups\Accounting\Full.bak。可以用逻辑设备名称执行BACKUP语句:⚫BACKUPDATABASEaccountingTOAccounting_Backup也可以使用逻辑设备名称执行语句:⚫BACKUPDATABAS

EaccountingTODISK=’C:\Backups\Accounting\Full.Bak’2022年11月13日(3)创建永久备份设备使用企业管理创建永久备份设备使用T-SQL语句执行存储过程sp_addumpdevic

e创建一个可以再次使用的备份设备。⚫Sp_addumpdevice‘设备类型’,’设备逻辑名’,’设备的物理名称’如:使用本地磁盘的一个文件创建一个逻辑名称为“company_back”的磁盘备份设备:⚫EXECsp_addumpdevice‘disk’,’company_back’,

’d:\Data_backup\company_back.bak’删除一个备份设备用存储过程sp_dropdevice⚫sp_dropdevice‘设备的逻辑名称’,’delfile’删除备份设备company_back,并不删除相关的物理文件:⚫

EXECsp_dropdevice‘company_back’删除备份设备并将相关的物理文件删除⚫EXECsp_dropdevice‘company_back’,’DELFILE’2022年11月13日10.3.2备份策略SQLServer2000提出4种主要的备份方式:数据库备份、事务日

志备份、差异备份、文件和文件组备份。⚫完整数据库备份是数据库的完整复本。⚫事务日志备份仅复制事务日志。⚫差异备份仅复制自上一次完整数据库备份之后修改过的数据库页。⚫文件或文件组还原仅允许恢复数据库中位于故障磁盘上的那部分2022年

11月13日10.3.3执行数据库备份使用企业管理器创建数据库备份(企业管理器)⚫展开服务器组,然后展开服务器。⚫展开"数据库"文件夹,右击数据库,指向"所有任务"子菜单,然后单击"备份数据库"命令。⚫在"名称"框内,输入备份集名称。

在"描述"框中输入对备份集的描述。(可选)⚫在"备份"选项下单击"数据库—完全"。⚫在"目的"选项下,单击"磁带"或"磁盘",然后指定备份目的地。⚫如果没出现备份目的地,则单击"添加"以添加现有的目的地或创建新目的地。2

022年11月13日创建数据库备份⚫在"重写"选项下,执行下列操作之一:⚫单击"追加到媒体",将备份追加到备份设备上任何现有的备份中。⚫单击"重写现有媒体",将重写备份设备中任何现有的备份。⚫选择"调度"复选框调度备份操作在以后执行或定期执行。(可选)⚫单击"选项"选项卡并执行下列一项或多项

操作:(可选)⚫选择"完成后验证备份"复选框,在备份时对备份进行验证。⚫选择"备份后弹出磁带"复选框,在备份操作完成后弹出磁带。该选项只适用于磁带设备。⚫选择"检查媒体集名称和备份集到期时间",检查备份媒体以防意外重写。⚫如果是第一次使用备份媒体,或者

要更改现有的媒体标签,则在"媒体集标签"框下选择"初始化并标识媒体"复选框,然后输入媒体集名称和媒体集描述。只有在重写媒体时才能对其进行初始化和标识设置。2022年11月13日数据库备份(1)执行完全数据库备份⚫BACKUPDATABASEcompany

TODISK=’D:\SQLBackup\company.bak’(2)执行差异数据库备份⚫BACKUPDATABASEcompanyTOcompany_backupWITHDIFFERENTIAL(3)执行事务处理日志备份⚫BACKUPLOGcom

panyTOcompany_log_backup⚫在BACKUPLOG语句中可以使用WITHNO_TRUNCATE参数,指定在完成事务日志备份以后,并不清空原有日志的数据。(4)执行文件和文件组备份⚫可以在BACKUPDATAB

ASE语句中使用“FILE=逻辑文件名”或“FILEGROUP=逻辑文件组名”执行一个文件和文件组备份。⚫BACKUPDATABASEcompanyFILEGROUP=’PRIMARY’TOcompany_filegroupbackup_primary2022年11月13日10.3.1

使用企业管理器恢复数据库备份⚫启动企业管理服务器,展开服务器组,然后展开服务器。⚫展开“数据库”文件夹,右击数据库,指向“所有任务”子菜单,然后单击“还原数据库”命令,弹出如图所示的对话框。⚫在“还原为数据库”列表框中,

如果要恢复的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。若要用新名称恢复数据库,输入新的数据库名称。⚫在还原选项栏中单击“数据库”单选按钮。2022年11月13日⚫在“要还原的第一个备份”列表中,选择要恢复的备份集

。⚫在“还原”列表中,单击要恢复的数据库备份。⚫单击“选项”选项卡并执行下列操作:(可选)在“还原为”中输入组成数据库备份的各数据库文件的新名称或新位置。⚫如果没有其他要应用的事务日志或差异数据库备份,单击“使数据库可以继续运行,但无法恢复其他事务日志

”。⚫如果要应用另一个事务日志或差异数据库备份,则单击“使数据库不再运行,但能恢复其他事务日志”⚫然后单击“确认”开始恢复。2022年11月13日10.3.2使用T-SQL语句恢复数据库RESTORE恢复使用BACKUP

命令所做的备份恢复数据库的语法格式为:⚫RESTOREDATABASE{database_name|@database_name_var}⚫<file_or_filegroup>[,...n]⚫[FROM<backup_d

evice>[,...n]]恢复事务日志的语法格式为:⚫RESTORELOG{database_name|@database_name_var}⚫[FROM<backup_device>[,...n]]例:显示恢复完整数据库备份。⚫re

storedatabaselwzzfromlwzz_1例:恢复完整数据库备份后恢复差异备份。另外,本例还说明如何恢复媒体上的另一个备份集,差异备份追加到包含完整数据库备份的备份设备上。⚫restoredatabaselwzzfromlwzz_1withnorecovery⚫restored

atabaselwzzfromlwzz_1withfile=22022年11月13日10.4数据传输10.4.1使用导入导出向导⚫导入数据是从SQLServer的外部数据源(如ASCII文本文件)中检索数据,并将数据插入到SQLServer表的过程

。导出数据是将SQLServer实例中的数据析取为某些用户指定格式的过程,例如将SQLServer表的内容复制到MicrosoftAccess数据库中。⚫将数据从外部数据源导入SQLServer实例很可能是建立数据库后要执行的第一步。数据导入SQLSer

ver数据库后,即可开始使用该数据库⚫将数据导入SQLServer实例可以是一次性操作。⚫导入数据也可以是不断进行的任务。⚫导出数据的发生频率通常较低。⚫SQLServer提供多种工具用于各种数据源的数据导入和导出,这些数据源包括文本文件、ODBC数据源(例

如Oracle数据库)、OLEDB数据源(例如其它SQLServer实例)、ASCII文本文件和Excel电子表格10.4.2使用DTS设计器2022年11月13日实用SQLServer操作⚫生成SQL脚

本⚫将数据导出到网页⚫关系图⚫数据库的移动与复制⚫实用的DTS技术

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?