我在 SQL Server 中有一个具有 ID 列的表,该表也设置为唯一聚集索引。
我需要确定给定 ID 中的哪些记录被锁定为在另一个事务中被删除。
如果我使用 READPAST,我只会得到那些未锁定的记录,但不能保证其余记录存在或正在另一个事务中删除。删除记录的 NOLOCK 不会返回任何数据。
我发现的唯一解决方法是在 READPAST 未检索到的那些 ID 上使用 NOWAIT 执行 SELECT 并检测锁定超时错误,但我需要分别为每条记录执行此操作。
在不使用系统表或存储过程的情况下,有没有更快的替代方案?