数据的备份.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据的备份.ppt

第十讲 数据的备份、恢复和传输 教学内容 事务概念、属性、执行事务的3种模式 数据锁的概念、锁的对象、锁的方法以及死锁问题 数据的备份、恢复以及传输的方法 学习目标及重点 学习目标 掌握事务概念、属性 掌握数据锁的概念和死锁问题 掌握数据备份的概念 学会如何备份数据库、恢复数据库 SQL Server数据库与其它软件的数据交换 重点与难点 事务概念 事务属性 执行事务的3种模式 数据锁的概念及死锁问题 如何在企业管理器中执行数据库备份 如何使用Transact-SQL语句执行数据库备份 如何使用企业管理器恢复数据库 如何使用Transact-SQL语句恢复数据库 10.1 事务简介 10.1.1 事务概念 事务是作为单个逻辑工作单元执行的一系列操作。 一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务 10.1.2 事务的属性(ACID) 原子性(Atomicity) 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。 一致性(Consistency) 事务在完成时,必须使所有的数据都保持一致状态 隔离性(Isolation) 由并发事务所作的修改必须与任何其它并发事务所作的修改隔离 持久性(Durability) 事务完成之后,它对于系统的影响是永久性的。 10.1.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,则必须指定事务名。WITH MARK 允许将事务日志还原到命名标记。 显式事务语句 功能 语句 开始事务 BEGIN TRAN[SACTION] 提交事务 COMMIT TRAN[SACTION]或COMMIT[WORK] 回滚事务 ROLLBACK TRAN[SACTION]或ROLLBACK[WORK] 自动提交、隐含事务 2.自动提交事务 系统默认的事务方式,许多SQL语句在执行时都会自动发生的事务。每个数据操作语句即为一个事务。 3.隐含事务 当连接以隐性事务模式进行操作时,SQL Server将在提交或回滚当前事务后自动启动新事务。无须描述事务的开始,只须提交或回滚每个事务。隐性事务模式生成连续的事务链。 EX 事务 例:建立内含事务的存储过程 Create Proc TestTranas Begin TRAN Select * From StudInfo Rollback Go 事务保存点的设置与回滚 SAVE TRANSACTION 在事务内设置保存点。 语法 SAVE TRAN [ SACTION ] { savepoint_name | @savepoint_variable } 参数 savepoint_name 是指派给保存点的名称。保存点名称必须符合标识符规则,但只使用前 32 个字符 @savepoint_variable 是用户定义的、含有有效保存点名称的变量的名称。必须用 char、varchar、nchar 或 nvarchar 数据类型声明该变量。 BEGIN TRAN…… SAVE TRAN TempTran…… IF(@@ERROR0) BEGIN ROLLBACK TRAN TempTran –-回滚到事务保存点 …… /*失败时所使用的变通方案*/ END...IF(...) COMMIT ELSE ROLLBACK 分布式事务 如果要在事务中存取多个数据库服务器中的数据(包含执行存储过程),就必须使用“分布式事务”(Distributed Transaction) Begin Distributed tran Insert into CourseInfo(CourseID,CourseName) values(A00232,TestName) If @@ERROR0 GOTO ERRORPROC INSERT INTO AnotherServer.DatabaseName.dbo.tablename (FieldName1,FieldNam

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档