积极答复者
read committed隔离级别有键范围锁定吗?read committed有可能隐式升级到SERIALIAZABLE吗?

问题
答案
-
问题一:正如rmiao大侠所说,sqlserver不会改变默认的隔离级别,除非你自己收到去设置每一个会话的隔离级别
在会话的开头加上这句话
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
问题二:read committed 有键范围锁定的,如果使用的是键查找
- 已标记为答案 Michelle GeModerator 2014年4月30日 8:36
全部回复
-
问题一:正如rmiao大侠所说,sqlserver不会改变默认的隔离级别,除非你自己收到去设置每一个会话的隔离级别
在会话的开头加上这句话
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
问题二:read committed 有键范围锁定的,如果使用的是键查找
- 已标记为答案 Michelle GeModerator 2014年4月30日 8:36
-
关于问题2有篇Blog可以参考:http://sqlblog.com/blogs/michael_zilberstein/archive/2011/03/15/34152.aspx
Please Mark As Answer if it is helpful.
-
不是只针对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