首页 新闻 会员 周边 捐助

sql server 中锁释放model =0-null是什么意思

0
悬赏园豆:10 [待解决问题]

我调试一段sql,执行到3行

然后我用profiler 跟踪发现当获取更新行X锁后又释放了一次,但是model=0-null,根据官方描述这个是释放后获得的模式,也就是说释放后和其它锁兼容,还是说它释放了其它锁,这里不知道这个释放是什么意思。
因为我的事务还没提交,不会释放X锁。我们查询了锁情况也确实没释放。

当我执行提交事务后又进行了一遍释放。但是释放model=5-X

我没搞懂第一次的释放是释放什么,因为官方的描述和实际不是太吻合。
https://learn.microsoft.com/zh-cn/sql/relational-databases/event-classes/lock-released-event-class?redirectedfrom=MSDN&view=sql-server-ver16

XSpringSun的主页 XSpringSun | 菜鸟二级 | 园豆:213
提问于:2023-06-20 16:28
< >
分享
所有回答(1)
0
dudu | 园豆:29732 (高人七级) | 2023-06-20 17:28

感谢dudu,意思是说这个model的描述是不准确的,但是我看到一直没有修改过来。这个描述是说释放事件正在释放的模式,而不是释放后获得的模式哈。因为如果按照文档描述“释放锁后得到的模式” 那么0-null 也就是释放了所有锁!

支持(0) 反对(0) XSpringSun | 园豆:213 (菜鸟二级) | 2023-06-21 09:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册