明明写的是更新锁怎么变成排斥锁了?
begin tran select * from a with (updlock, tablock, holdlock) where t1=3waitfor delay '00:00:18'commit tran
友情帮顶.蹭分
[解决办法]
更新就是X或IX锁!
[解决办法]
tablock锁定整个表
updlock更新锁,本来允许其他共享锁的,但是由于表所存在,实际就不再允许其他的共享锁了
holdlock这是个保持所的概念,就是多有的锁保持到事务结束
这三个组合,系统应该自动升级为拍他的表锁,事务结束前这个表不允许其他任何操作。
[解决办法]
要先申请到排他(IX锁和X锁)才能进行更新(U锁)的呀.
[解决办法]
再打开一个新连接, 发现select 查询语句也卡住了.
另一个连接用with(nolock)查询试试
[解决办法]
看看这个 :
http://blog.csdn.net/arrow_gx/archive/2009/03/19/4004938.aspx
[解决办法]
你不是有updlock这个么。。。那么就会有X或IX
[解决办法]
select * from a with (updlock, tablock, holdlock) where t1=3exec sp_lockselect @@spidwaitfor delay '00:00:02'
[解决办法]
留名~学习
[解决办法]