具有UNION和行锁的数据可用性READPAST

时间:2015-12-15 18:30:08

标签: sql-server

我有一个使用READPAST查询提示的UNION查询。我想知道是否可能存在第一个SELECT可以跳过锁定行的情况,但是如果在执行此查询期间释放了该锁,则第二个SELECT可以返回该行?

数据库正在使用读提交隔离模式。

SELECT
  '1st',
  id
FROM
  supportContacts WITH (READPAST)
WHERE
  type = 'Email'

UNION

SELECT
  '2nd',
  id
FROM
  supportContacts WITH (READPAST)
WHERE
  type = 'Email'

SQL Fiddle

1 个答案:

答案 0 :(得分:0)

您可以使用 -

使用read committed snapshot
alter database xyz
set read_committed_snapshot on

这将为您提供已提交的行。没有直接的方法可以找出使用READPAST提示未返回的行。