`
jackleechina
  • 浏览: 591379 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

sql事务和隔离级别

    博客分类:
  • sql
 
阅读更多
Transact-SQL 参考 
SET TRANSACTION ISOLATION LEVEL
控制由连接发出的所有 Microsoft® SQL Server™ SELECT 语句的默认事务锁定行为。

语法
SET TRANSACTION ISOLATION LEVEL
    { READ COMMITTED
        | READ UNCOMMITTED
        | REPEATABLE READ
        | SERIALIZABLE 
    }

参数
READ COMMITTED

指定在读取数据时控制共享锁以避免脏读,但数据可在事务结束前更改,从而产生不可重复读取或幻像数据。该选项是 SQL Server 的默认值。

READ UNCOMMITTED

执行脏读或 0 级隔离锁定,这表示不发出共享锁,也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。

REPEATABLE READ

锁定查询中使用的所有数据以防止其他用户更新数据,但是其他用户可以将新的幻像行插入数据集,且幻像行包括在当前事务的后续读取中。因为并发低于默认隔离级别,所以应只在必要时才使用该选项。

SERIALIZABLE

在数据集上放置一个范围锁,以防止其他用户在事务完成之前更新数据集或将行插入数据集内。这是四个隔离级别中限制最大的级别。因为并发级别较低,所以应只在必要时才使用该选项。该选项的作用与在事务内所有 SELECT 语句中的所有表上设置 HOLDLOCK 相同。

注释
一次只能设置这些选项中的一个,而且设置的选项将一直对那个连接保持有效,直到显式更改该选项为止。这是默认行为,除非在语句的 FROM 子句中在表级上指定优化选项。

SET TRANSACTION ISOLATION LEVEL 的设置是在执行或运行时设置,而不是在分析时设置。

示例
下例为会话设置 TRANSACTION ISOLATION LEVEL。对于每个后续 Transact-SQL 语句,SQL Server 将所有共享锁一直控制到事务结束为止。

SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
GO
BEGIN TRANSACTION
SELECT * FROM publishers
SELECT * FROM authors
...
COMMIT TRANSACTION


摘自:http://www.yesky.com/imagesnew/software/tsql/ts_set-set_74bw.htm
参考:http://www.cnblogs.com/qanholas/archive/2012/01/02/2310164.html
分享到:
评论

相关推荐

    SQLSERVER事务隔离级别的实验研究.pdf

    本文档详细探讨了SQL Server中不同事务隔离级别的实验研究,揭示了各隔离级别与锁管理之间的关系,并通过实验验证了不同隔离级别对数据访问和锁定行为的影响。 SQL Server事务隔离级别分为以下四种: 1. 未提交读...

    MY SQL 事务隔离 查询:默认事务隔离级别

    查询:默认事务隔离级别 mysql> select @@tx_isolation;当前会话的默认事务隔离级别 mysql> select @@session.tx_isolation;当前会话的默认事务隔离级别 mysql> select @@global.tx_isolation;全局的事务隔离级别

    SQLserver锁和事务隔离级别的比较与使用

    SQL Server的锁机制和事务隔离级别是数据库管理系统中确保数据一致性、避免并发问题的重要机制。在SQL Server中,锁主要用于控制多个用户同时访问同一数据时的并发操作,而事务隔离级别则是确定在事务中如何处理这些...

    关于SQL Server事务隔离级别的探讨.pdf

    SQL Server事务隔离级别是数据库管理系统中非常重要的一个概念,它主要用于控制并发事务的执行,确保数据的一致性和完整性。事务隔离级别可以避免并发事务中的各种问题,如脏读、不可重复读和幻读。了解和应用不同的...

    SQLserver锁和事务隔离级别的比较与使用[定义].pdf

    SQL Server 锁和事务隔离级别的比较与使用 在数据库系统中,锁和事务隔离级别是两个非常重要的概念,它们之间存在着紧密的关系。在本文中,我们将对 SQL Server 锁和事务隔离级别进行比较和使用的介绍。 首先,让...

    spring事务的传播特性和事务隔离级别

    ### Spring事务的传播特性和事务隔离级别 #### 一、Spring事务的传播特性(Propagation) 在Spring框架中,事务管理不仅提供了ACID属性的支持,还引入了事务的传播特性,这些特性决定了当一个方法调用另一个方法时,...

    怎么理解SQL SERVER中事务隔离级别及相应封锁机制.pdf

    SQL Server中事务隔离级别和封锁机制是数据库管理系统中两个重要的概念,它们决定了事务之间的并发执行和数据的一致性。根据不同的应用场景,选择适合的事务隔离级别和封锁机制,可以确保数据的一致性和隔离性,提高...

    MySQL的四种事务隔离级别

    为了在不同隔离级别下测试和观察事务行为,文中还提供了如何使用SQL命令来设置和查询当前事务的隔离级别的方法,例如使用SET SESSION TRANSACTION ISOLATION LEVEL命令来设置当前会话的事务隔离级别,并使用select @...

    MySQL数据库:事务隔离级别.pptx

    事务隔离级别 课程目标 了解 —— 事务隔离级别的概念; 理解 —— 事务隔离的四种级别; 掌握 —— 事务隔离级别的设置; 事务隔离级别 事务隔离:每一个事务都有一个所谓的隔离级,它定义了用户彼此之间隔离和交互...

    4种事务的隔离级别

    在SQL92标准中,定义了四种事务隔离级别,分别是读未提交(Read Uncommitted)、读提交(Read Committed,简称RC)、可重复读(Repeated Read,简称RR)以及串行化(Serializable)。InnoDB存储引擎实现了这四种隔离...

    MySQL事务隔离级别详解

    接下来,我们将详细介绍MySQL中的四种事务隔离级别以及如何设置和查询这些隔离级别。 首先,MySQL的四种事务隔离级别包括: 1. **READ-UNCOMMITTED(读取未提交内容)** 这种隔离级别允许事务读取未提交的数据更改...

    SQL Server 2002中的事务隔离级别.pdf

    SQL Server 2002中的事务隔离级别是数据库管理系统中非常关键的概念,它涉及到多用户同时访问数据库时的数据一致性与并发性控制。事务是数据库操作的基本单元,它保证了一组数据库操作要么全部成功,要么全部回滚,...

    SQL Server事务的隔离级别

    这篇数据库教程SQLServer 事务的隔离级别,教程操作方法:  数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况。  更新丢失(Lost update)  两个事务都同时更新一行数据...

    SQL SERVER中事务隔离级别的实例分析.pdf

    在SQL Server数据库管理系统中,事务隔离级别是确保数据一致性、完整性和并发控制的重要机制。事务在执行时可能会遇到多种并发问题,如脏读、不可重复读和幻读,这些问题都会影响数据的正确性和系统的稳定性。SQL ...

    51 SQL标准中对事务的4个隔离级别,都是如何规定的呢?l.pdf

    SQL标准定义了四种事务隔离级别,旨在处理并发事务执行时可能出现的一些问题,包括脏读、不可重复读和幻读。以下是对这四种隔离级别——读未提交(read-uncommitted)、读已提交(read-committed)、可重复读...

    06-VIP-深入理解Mysql事务隔离级别与锁机制.pdf

    深入理解Mysql事务隔离级别与锁机制 Mysql事务隔离级别与锁机制是数据库...在实际应用中,需要根据不同的应用场景选择合适的事务隔离级别和锁机制,来解决多事务并发问题,提高数据库的并发访问性能和数据的一致性。

    数据库事务与隔离级别.docx

    数据库事务与隔离级别 数据库事务是指一系列操作的集合,作为一个单元执行,以维护数据库的一致性和完整性。事务必须具备四大特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性...

    事务四大隔离级别的不同

    在数据库管理领域,事务是确保数据一致性的重要机制。在MySQL这样的关系型数据库管理系统中...通过学习和实践MySQL的四大事务隔离级别,我们可以更好地理解其工作原理,并在设计和优化数据库应用程序时做出明智的选择。

    SQL Server中事务处理的隔离级别的实例分析.pdf

    这篇文章将深入探讨SQL Server 2000中的事务处理隔离级别及其对事务一致性的影响。 首先,事务的ACID属性是数据库管理系统的基础。原子性(Atomicity)意味着事务中的每个操作被视为一个不可分割的整体,要么全部...

Global site tag (gtag.js) - Google Analytics