SQL Server实用简明教程(第二版) 作者 ch12.pptVIP

  • 0
  • 0
  • 约3.03千字
  • 约 21页
  • 2015-12-13 发布于广东
  • 举报

SQL Server实用简明教程(第二版) 作者 ch12.ppt

第12章 SQL Server的并发性 教学目标 在Microsoft SQL Server系统中,通过采用事务和锁机制,解决了数据库系统的并发性问题。本章将全面阐述Microsoft SQL Server的并发性技术。 教学重点 了解并发性的基本概念 理解事务的特点和作用 掌握事务管理技术 理解锁的作用 掌握定制锁技术 掌握查看和理解锁信息技术 教学过程 并发性的概念 事务 使用锁 12.1 并发性的概念 并发性就是两个或两个以上的用户同时对数据执行的操作。 并发性问题就是并发操作时遇到的各种问题。 在Microsoft SQL Server 2000系统中,解决并发性问题采取了事务和锁机制。 事务和锁的特点 事务是一个单元的工作,要么全做,要么全不做; 事务保证操作的一致性和可恢复性; 每一条Transact-SQL语句都可以是一个事务; 实际使用的事务是用户定义的事务,它包括一系列操作或语句; 在多服务器环境中,使用用户定义的分布式事务保证操作的一致性; 锁是保证并发控制的手段; 可以锁定的资源包括行、页、Extent、表和数据库; 锁的基本类型是共享锁和排它锁; 特殊类型的锁包括意图锁、修改锁和模式锁; 共享锁允许其他事务继续使用锁定的资源; 排它锁只允许一个事务访问数据; 系统本身可以处理死锁; 用户可以根据实际情况定制锁的一些特征。 12.2 事务 事务的概念 事务的工作原理 使用事务的考虑 事务的类型 事务的概念 事务是指一个单元的工作。作为一个逻辑单元,它必须具备4个属性:自动性、一致性、独立性和持久性。 自动性是指事务必须是一个自动的单元工作,要么执行全部数据的修改,要么全部数据的修改都不执行。 一致性是指当事务完成时,必须使所有数据都具有一致的状态。在关系型数据库中,所有的规则必须应用到事务的修改上,以便维护所有数据的完整性。所有的内部数据结构,例如树状的索引与数据之间的链接,在事务结束之后必须保证正确。 独立性是指并行事务的修改必须与其他并行事务的修改相互独立。一个事务看到的数据要么是另外一个事务修改这些数据之前的状态,要么是第二个事务已经修改完成的数据,但是这个事务不能看到正在修改的数据。这种特征也称为串行性。 持久性是指当一个事务完成之后,它的影响永久性地产生在系统中,也就是这种修改写到了数据库中。 事务的工作原理 写到事务日志中的操作一般有两种:一种是针对数据的操作,一种是针对任务的操作。 系统自动生成一个检查点机制,这个检查点周期地发生。检查点的周期是系统根据用户定义的时间间隔和系统活动的频度由系统自动计算出来的时间间隔。 使用事务的考虑 在使用事务时,原则上应该使事务尽可能短并且要避免事务嵌套。事务应该尽可能短,这是因为比较长的事务增加了事务占用数据的时间,使其他必须等待访问该事务锁定数据的事务延长了等待访问数据的时间。在使用事务时,为了使事务尽可能短,应该采取一些相应的方法。 为了最小化时间,在使用某些Transact-SQL语句时一定要非常小心。 在事务的进行过程中就可以避免进行一些耗费时间的交互式操作以缩短事务进程的时间。 在一个用户定义的事务中,应该尽可能地使用一些数据操纵语言。而对于一些数据定义语言,应该尽可能地少用或不用 。 事务的类型 根据系统的设置,可以把事务分成两种类型。一种是系统提供的事务,另一种是用户定义的事务。系统提供的事务是指在执行某些语句时,一条语句就是一个事务。这时要知道,一条语句的对象既可能是表中的一行数据,也可能是表中的多行数据,甚至是表中的全部数据。 另外一种事务,是用户明确定义的事务。在实际应用中,大多数的事务处理就是采用了用户定义的事务来处理。在开发应用程序时,可以使用BEGIN TRANSACTION语句来定义明确的用户定义的事务。 12.3 使用锁 锁的概念 SQL Server的空间 可以锁定的资源 锁的类型和其兼容性 死锁问题 会话级锁和表级锁 锁的信息 锁的概念 锁就是防止其他事务访问指定资源的手段。锁是实现并发控制的主要方法,是多个用户能够同时操纵同一个数据库中的数据而不发生数据不一致现象的重要保障。 SQL Server的空间 在Microsoft SQL Server系统中,最小的空间管理单位是页,一个页有8K。所有的数据、日志、索引都存放在页上。另外,使用页还有一个限制,这就是表中的一行数据必须在同一个页上,不能跨页。页上面的空间管理单位是Extent,一个Extent是8个连续的页。表和索引的最小占用单位是Extent。数据库是由一个或多个表或索引组成的,即是由多个Extent组成。 针对不同的空间可以使用不同的锁,以便达到不同程度的保护事务和数据的目的。 可以锁定的资源 在Mic

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档