none
read committed隔离级别有键范围锁定吗?read committed有可能隐式升级到SERIALIAZABLE吗? RRS feed

  • 问题

  • read committed隔离级别有键范围锁定吗?read committed有可能隐式升级到SERIALIAZABLE吗?

    此去千万里,岁月忽已晚!

    2014年4月21日 11:51

答案

  • 问题一:正如rmiao大侠所说,sqlserver不会改变默认的隔离级别,除非你自己收到去设置每一个会话的隔离级别

    在会话的开头加上这句话

    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE 

    问题二:read committed 有键范围锁定的,如果使用的是键查找

    2014年4月22日 1:47

全部回复

  • Sqll will not change isolation level automatically, you can change that for each session.
    2014年4月21日 13:36
  • 问题一:正如rmiao大侠所说,sqlserver不会改变默认的隔离级别,除非你自己收到去设置每一个会话的隔离级别

    在会话的开头加上这句话

    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE 

    问题二:read committed 有键范围锁定的,如果使用的是键查找

    2014年4月22日 1:47
  • 关于问题2有篇Blog可以参考:http://sqlblog.com/blogs/michael_zilberstein/archive/2011/03/15/34152.aspx


    Please Mark As Answer if it is helpful.

    2014年4月22日 3:20
  • 这个是INSERT吧?隔离级别不是针对SELECT的吗?

    2014年4月22日 7:25
  • 不是只针对select的,建议LZ先学习一下隔离级别

    http://www.cnblogs.com/wangjingblogs/archive/2012/02/07/2340930.html

    http://msdn.microsoft.com/zh-cn/library/dn133175(v=sql.120).aspx

    2014年4月22日 7:37
  • 不是只针对select的,建议LZ先学习一下隔离级别

    http://www.cnblogs.com/wangjingblogs/archive/2012/02/07/2340930.html

    http://msdn.microsoft.com/zh-cn/library/dn133175(v=sql.120).aspx


    我的意思是隔离级别影响的是select的行为,其它数据库修改操作该使用什么锁还是用什么锁,不是隔离级别能够控制的。

    另外我是针对KevinLiu328(MVP)所引用链接说的。那个例子中两个INSERT在未提交事务的情况下后执行的会因为键范围锁冲突而发生阻塞。这跟隔离级别没有任何关系,即使把例子中INSERT之前的隔离级别修改为任何其它隔离级别该阻塞的还是要阻塞的。

    • 已编辑 lt50 2014年4月23日 5:07
    2014年4月23日 4:42