我有以下情况:
表A包含一些信息,表B包含其详细信息。 B具有A的外键,并配置为级联。
现在,我在A中插入“ data1”,并在其中插入两行以获取详细信息。
然后我从A删除data1并监视探查器中的Lock.Acquired和Lock:Released事件。我通过使用“ READ COMMITTED SNAPSHOT”来做到这一点。在delete语句之后,我要回滚。
现在会发生什么: 我得到了一堆锁,一切似乎都还可以,但有一件事很奇怪。如您在图片中看到的,有一个RangeS-U锁永远不会释放。锁定到详细信息表的未聚簇索引上。
怎么会永远不会释放锁?