Sql server 具有相同的效果:删除表上基于“光标”的锁。我没有发现解除分配的证据,因为它本身没有任何锁。在执行更新时,我在事务中使用敏感/可滚动光标进行了测试。。。其中光标的当前位置。每个FETCH在页面上使用IU锁,在键上使用U锁,在表上使用IX锁,所有锁的所有者类型

Sql server 具有相同的效果:删除表上基于“光标”的锁。我没有发现解除分配的证据,因为它本身没有任何锁。在执行更新时,我在事务中使用敏感/可滚动光标进行了测试。。。其中光标的当前位置。每个FETCH在页面上使用IU锁,在键上使用U锁,在表上使用IX锁,所有锁的所有者类型,sql-server,tsql,exception,Sql Server,Tsql,Exception,具有相同的效果:删除表上基于“光标”的锁。我没有发现解除分配的证据,因为它本身没有任何锁。在执行更新时,我在事务中使用敏感/可滚动光标进行了测试。。。其中光标的当前位置。每个FETCH在页面上使用IU锁,在键上使用U锁,在表上使用IX锁,所有锁的所有者类型均为光标。UPDATE本身复制了这3个锁,并将TRANSACTION作为所有者类型。在解除分配或关闭后,只存在传输锁。所罗门,非常感谢您的努力。我认为你最后两条评论中的信息应该放在你的答案中。我还创建了一个文档,这样它就可以出现在微软的官方文档


具有相同的效果:删除表上基于“光标”的锁。我没有发现
解除分配
的证据,因为它本身没有任何锁。在执行
更新时,我在事务中使用敏感/可滚动光标进行了测试。。。其中光标的当前位置
。每个
FETCH
在页面上使用
IU
锁,在键上使用
U
锁,在表上使用
IX
锁,所有锁的所有者类型均为
光标
UPDATE
本身复制了这3个锁,并将
TRANSACTION
作为所有者类型。在
解除分配
关闭
后,只存在传输锁。所罗门,非常感谢您的努力。我认为你最后两条评论中的信息应该放在你的答案中。我还创建了一个文档,这样它就可以出现在微软的官方文档中。@feO2x非常欢迎您。我稍早进行了更新,但只是再次更新以添加有关锁定测试的注释。我没有添加到您的GitHub问题的链接,因为我在答案中已经有了链接:-)。另外,我还补充了一个答案,在对这个问题的评论中提到了这个答案。