select --*
request_session_id as spid,
resource_type as restype,
resource_database_id as dbid,
DB_NAME(resource_database_id) as dbname,
resource_description as res,
resource_associated_entity_id as resid,
case when resource_type= 'OBJECT' then OBJECT_NAME( resource_associated_entity_id )
end
as objectName,
request_mode as mode,
request_status as status
from sys.dm_tran_locks select --*
session_id as spid,
connect_time,
last_read,
last_write,
most_recent_sql_handle,
text
from sys.dm_exec_connections
cross apply sys.dm_exec_sql_text(most_recent_sql_handle) --as a
where session_id in (56,57) select --*
session_id as spid,
login_time,
host_name,
program_name,
login_name,
nt_user_name,
last_request_start_time,
last_request_end_time
from sys.dm_exec_sessions
where session_id in (56,57) select --*
[session_id],
[blocking_session_id],
[command],
[sql_handle],
text,
[database_id],
[wait_type],
[wait_time],
[wait_resource]
from sys.dm_exec_requests
cross apply sys.dm_exec_sql_text([sql_handle])
where blocking_session_id>0
ISOLATION   LEVEL note 读操作 写操作
READ   UNCOMMITTED(with nolock) 脏读 不请求共享锁 不妨碍获取排他锁
READ COMMITED 不可重复读 读操作不会事务持续期间内保留共享锁,
    甚至在语句结束前也不能一直保留共享锁,
    这意味着在一个事务处理内部对相同数据资源的两个读操作之间,没有共享锁会锁定该资源
因此,其他事务可以在两个读操作
    之间更改数据资源,
    读操作因而可能每次得到不同的取值
REPEATABLE   READ(holdlock) 幻读 共享锁一直保持到事务完成为止 能阻塞Update,不能阻Insert   ,
    能够防止并发负面影响:丢失更新
SERIALIZABLE   读操作锁定满足查询搜索条件的键的整个范围 能阻塞Update,Insert
SNAPSHOT 基于行版本控制(非共享锁) 
     数据库级别开启
    set allow_snapshot_isolation on 
读操作读取的数据行   是事务启动前最后提交的版本 进行更新冲突检测
READ COMMITTED   SNAPSHOT 基于行版本控制(非共享锁) 
    数据库级别开启
     set read_committed_snapshot_on 
读操作读取的数据行   是语名启动前最后提交的版本 不进行更新冲突检测

SQL 事务隔离学习的更多相关文章

  1. 30分钟全面解析-SQL事务+隔离级别+阻塞+死锁

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  2. 图解 sql 事务隔离级别

    sql 事务隔离级别有四种分种为: 一 Read Uncpommitted(未提交读) 二 Read Committed(提交读) 三 Repeated Read(可重复读) 四 Serializab ...

  3. SQL 事务隔离级别

    转载来源:https://www.cnblogs.com/chenmh/p/3998614.html 标签: SQL SEERVER/MSSQL SERVER/SQL/事务隔离级别选项/设置数据库事务 ...

  4. 【概念原理】四种SQL事务隔离级别和事务ACID特性

    摘要: SQL事务隔离级别和事务的ACID特性 事务是一组读写操作,并且具有只有所有操作都成功才算成功的特性.   事务隔离级别 SQL事务隔离级别由弱到强分别是:READ_UNCOMMITTED.R ...

  5. (4.12)全面解析-SQL事务+隔离级别+阻塞+死锁

    30分钟全面解析-SQL事务+隔离级别+阻塞+死锁 转自:https://blog.csdn.net/slowlifes/article/details/52752735 2016年10月07日 23 ...

  6. (分享别人的一篇好文章,来自jackson0714)30分钟全面解析-SQL事务+隔离级别+阻塞+死锁()

    30分钟全面解析-SQL事务+隔离级别+阻塞+死锁 阅读目录 概述: 一.事务 二.锁 三.阻塞 四.隔离级别 五.死锁 以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQ ...

  7. SQL事务隔离级别

    数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况. 更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修 ...

  8. SQL Server 事务隔离级别详解

    标签: SQL SEERVER/MSSQL SERVER/SQL/事务隔离级别选项/设置数据库事务级别 SQL 事务隔离级别 概述 隔离级别用于决定如果控制并发用户如何读写数据的操作,同时对性能也有一 ...

  9. 【转】SQL Server 事务隔离级别详解

    SQL 事务隔离级别 概述 隔离级别用于决定如果控制并发用户如何读写数据的操作,同时对性能也有一定的影响作用. 步骤 事务隔离级别通过影响读操作来间接地影响写操作:可以在回话级别上设置事务隔离级别也可 ...

随机推荐

  1. Python里的编码问题

    马克一篇 http://bbs.chinaunix.net/archiver/tid-1163613.html http://www.openhome.cc/Gossip/Python/ImportI ...

  2. input标签name与value区别

    id是唯一标识符,不允许有重复值(类似数据表的主键)可以通过它的值来获得对应的html标签对象.(如果在同一页面代码中,出现重复的id,会导致不可预料的错误) name:单独地在一个网页里面,一个控件 ...

  3. windows下Python shell代码自动补全

    Unix下实现如题功能用下面的代码: import rlcompleter, readline readline.parse_and_bind('tab: complete') 但readline不能 ...

  4. 常用类String的方法

    String str="hello"; 1.与数组相关的方法 System.out.println(str.length()); System.out.println(str.ch ...

  5. c++类的嵌套(1)

    在一个类的内部定义另一个类或结构体,我们称之为嵌套类(nested class),或者嵌套类型.之所以引入这样一个嵌套类,往往是因为外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现 ...

  6. 软件测试第三次作业——7.使用下面方法printPrimes()完成后面的问题(a)~(f)

    (a)控制流图如下: (b)令MAXPRIMES=4,会出现越界错误. (c)令n=1,不会经过while循环体. (d)节点覆盖:{1,2,3,4,5,6,7,8,9,10,11,12,13,14, ...

  7. Javascript、CSS和IMG之网页执行探索

    测试环境:windows/chrome 实例1:页面中仅有图片 <html xmlns="http://www.w3.org/1999/xhtml"> <head ...

  8. Foundation

    类:NSObject .NSString.NSMutableString.NSNumber.NSValue.NSDate.NSDateFormatter.NSRange.Collections:NSS ...

  9. win32自绘按钮,使用GDI+(二)

    一.解决上一篇的两个问题. 1.按钮背景透明 方法是,在绘制按钮之前,向按钮的父窗口发生WM_CTLCOLORBTN消息.该消息返回一个画刷句柄,系统使用该画刷句柄画出按钮的背景.所以我们在处理这个消 ...

  10. Maven学习-处理资源文件

    在前面两篇文章中,我们学习了Maven的基本使用方式和Maven项目的标准目录结构.接下来,我们来看下Maven是如果管理项目中的资源文件的. Java项目的资源文件,主要用于存储系统的配置信息,以及 ...