根据事务的设置、用途的不同,SQL Server 2012将事务分为多种类型。用户定义事务在实际应用中,大多数的事务处理采用了用户定义的事务来处理。ROLLBACK语句是取消语句,该语句将事务的操作全部取消,即表示事务操作失效。显式事务显式事务是指每个事务均以BEGⅠN TRANSACTⅠON语句显式开始,以COMMⅠT或ROLLBACK语句显式结束。......
2023-11-24
每个事务都是一个所谓的隔离级,它定义了用户彼此之间的隔离和交互的程度。事务关系型数据库管理系统的一个重要的属性:它可以隔离在服务器上正在处理的不同的会话。在单用户的环境中,这个属性无关紧要。但在多用户环境下,能够隔离事务就显得非常重要。这样它们之间既不互相影响,还能保证数据库性能不受影响。
如果没有事务的隔离性,不同的SELECT语句将会在同一事务的环境中查询到不同的结果,因为在查询期间,数据有可能已被其他事务修改,这将导致不一致性。使用户不确定本次查询结果是否正确,结果能否作为其他操作的基础。因此事物的隔离性可以强制对事务进行某种程度的隔离,保证其他操作和应用在事务中看到的数据是一致的。较低级别的隔离性可以增加并发,但代价是降低数据的正确性。反之,较高的隔离性可以确保数据库的正确性,但可能会降低并发,从而影响到系统的执行效率。
SQL Server 2012提供了五种隔离级:未提交读(READ UNCOMMⅠTTED)、提交读(READ COMMHⅠED)、可重复读(REPEATABLE READ)、快照(SNAPSHOT)和序列化(SERⅠALⅠZABLE)。
在SQL Server中,使用SET TRANSACTⅠONⅠSOLATⅠON LEVEL语句定事务的隔离级别。
由于在前一段T-SQL语句中创建了一个事务,但没有COMMⅠT语句,即该事务没有结束语或被撤销,所以后一段T-SQL语句执行后,系统提示正在执行查询,而不显示查询结果,如图7-3所示。
(www.chuimin.cn)
图7—3 系统提示正在执行查询
这时候的COLLEGE数据库的默认隔离级别是未提交读,如果一个事务更新了数据,但事务尚未结束,这时就会发生脏读的情况。在第一个查询窗口中使用ROLLBACK语句回滚以上操作,或直接关闭查询窗口终止事务。这时使用SET语句设置事务的隔离级别为READ UNCOMMH-ⅠED,执行如下语句:
SET TRANSACTⅠONⅠSOLATⅠON LEVEL READ UNCOMMⅠTTED
重复刚才的查询操作,就可以看到查询结果,因为此时系统被设置了READ UNCOMMTTED,允许进行脏读。
有关数据库技术与应用教程的文章
根据事务的设置、用途的不同,SQL Server 2012将事务分为多种类型。用户定义事务在实际应用中,大多数的事务处理采用了用户定义的事务来处理。ROLLBACK语句是取消语句,该语句将事务的操作全部取消,即表示事务操作失效。显式事务显式事务是指每个事务均以BEGⅠN TRANSACTⅠON语句显式开始,以COMMⅠT或ROLLBACK语句显式结束。......
2023-11-24
事务的隔离级别就是用来设置事务在读取数据时的隔离状态,提高数据并发使用效率的一种手段。事务的隔离级别由低到高可分为5个级别。MySQL默认级别,这种隔离级别可以避免“不可重复读取”,达到可重复读取。更改事务的隔离级别的语法代码如下:事务隔离级别的作用范围分为两种: 全局级:对所有的会话有效 会话级:只对当前的会话有效例如,设置会话级隔离级别为READ COMMITTED:或:设置全局级隔离级别为READ COMMITTED:......
2023-10-29
从1.1.1节的介绍可以看到,在数据库管理系统出现之前,人们对数据的操作是直接针对数据文件编写应用程序实现的,这种模式会产生很多问题。对于1.1.1小节中列举的学生基本信息管理和学生选课管理两个子系统,如果使用数据库技术来管理,其实现方式如图1-4所示。保证数据的安全是通过数据库管理系统的安全控制机制实现的,保证数据的可靠是通过数据库管理系统的备份和恢复机制实现的。......
2023-11-24
如果要使用缺省参数创建一个学籍管理数据库StuData,可以使用如下命令:Create Database StuData如果希望为数据库或事务日志指定一个或者多个特定文件,增加一个On Primary子句,列出一个或者多个文件,并可为分配这个文件的空间指定一个可选值,其命令形式如下:Create Database StuDataOn Primary,;如果为了提高性能和可恢复性,则可以使用Log On子句来指定数据库的SQL Server事务日志将存储在一个与数据库对象不同的设备上,示例如下:Create Database StuDataOn Primary,Log On;GO......
2023-11-24
关键字Modify File用以表示按后面的文件说明,在指定的数据库中修改相应数据库文件。下面的语句可在学籍管理数据库增加一个新数据库文件,同时要修改原数据库文件StuFile l的最大文件尺寸为2000 MB。Alter Database StuDataAdd FileModify File又如,如果要删除学籍管理数据库文件StuFile2,则可使用如下命令:Alter Database StuDataRemove File StuFile2......
2023-11-24
SQL的数据查询语句中包括SELECT,FROM,WHERE,GROUP BY和ORDER BY子句。SELECT语句具有数据查询、统计、分组和排序的功能,其语句表达能力非常强大。查询操作需要的数据源指基本表组,表间用“,”分割。当SELECT子句后的目标列中有统计函数,如果查询语句中有分组子句,则统计为分组统计,否则为对整个结果集统计。交查询操作,操作结果为取<查询1>和<查询2>共有的元组。......
2023-11-24
由于信息结构复杂,应用环境多样,在相当长的一段时期内数据库设计主要采用手工试凑法。人们经过探索提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规范设计法。工具在很大程度上依靠开发人员的经验来保证数据库模型能生成可行的设计方案和高性能的数据库。大多数的数据库设计方法都需要经历这三个步骤。根据所选择的设计方法按部就班地进行并最终获得一个实用的应用系统。......
2023-11-24
相关推荐